Frage von NuyuraAyu, 54

Geeigneter Editor (und dominierende Programmiersprache) zum programmieren eines Chat-Bots?

Hi, heute mal wieder eine (für erfahrene Programmierer etc) ziemlich dumme Frage :D Zur kurzen Erklärung: Ich programmiere seit einiger Zeit im Unterricht Webseiten (aber vermutlich sehr veraltet) und teils kleinere Spiele. Nun habe ich mir vorgenommen einen Chat-Bot zu programmieren, bin aber leider super unerfahren damit (also bitte verzeiht mir dämliche Fragen xD). Nun würde es mir sehr helfen wenn mir jemand einen Tipp geben könnte in welchem Editor das am praktischsten ist und vor allem wo ich das ganze dann starten kann/zwischendurch sehen kann ob/wie es funktioniert.

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von AnonYmus19941, 23

Also, ich will dich nicht enttäuschen, aber ein "echter Chatbot" ist extrem aufwendig, alleine wirst du das höchstwahrscheinlich nicht schaffen. Dafür musst du dich richtig gut auskennen.

Dieses Programm müsste

  1. die Eingabe des Benutzers erkennen und verarbeiten können und
  2. dich selbst eine Ausgabe ausdenken können, die zu der Eingabe passt.


An einem (gut funktionierenden) Chatbot arbeiten auch die ganz Großen (z. B. Google oder Facebook) noch ...

Die Alternative wäre ein Programm mit ein paar einprogrammierten Sätzen, die es mehr oder weniger zufällig ausgibt und eventuell auf eine bestimmte Eingabe mit einer bestimmten Ausgabe reagiert. Das ist allerdings ein bisschen ... langweilig ;-) Tut mir leid ...

Falls du das machen willst: als Editor würde ich Notepad++ empfehlen, (g)vim ist allerdings auch nicht schlecht (s. /watch?v=5givLEMcINQ&list=PL13bz4SHGmRxlZVmWQ9DvXo1fEg4UdGkr&index=1)
Die Programmiersprache ist eigentlich egal, dass sollte eigentlich mit jeder gehen...

Kommentar von NuyuraAyu ,

Naja, dass es nicht wirklich gut werden kann, damit hatte ich gerechnet aber ich werd es trotzdem versuchen :D ^^

Vielen Dank auf jeden Fall für die Antwort!

Antwort
von peter1971hh, 4

Da ist in letzter Zeit ja einiges passiert, wahnsinn..

Nun bietet auch pizzahut und andere Läden bald Bestellungen drüber an.

Aber es gibt wohl auch rechtliche Gefahren und Facebook sowieso immer schwierig.

Hier hab ich was dazu gefunden: https://www.datenschutz-notizen.de/datenschutzrechtliche-bedenken-bei-facebook-c...

Mhh wenn das so ist, na ich weiß nicht.

Antwort
von nastaritianer, 30

gvim als Editor.

cmd/Terminel(Windoof/Linux) zum testen. Welche Programmiersprache?

Chat-bot nicht für Skype oder so sondern als Ai?

Kommentar von NuyuraAyu ,

Jep, als AI. (Und vielen Dank schon Mal für die schnelle Antwort)

Kommentar von nastaritianer ,

Gvim ist das grafische overlay für vim. Kannst auch, wenn du die Shortcuts nicht lernen willst nano nutzen(bash->nano >filename<).
oder nen anderen 0815 editor(gedit oder sowas).

Antwort = raw_input('Welche Sprache lernst du?')

Kommentar von AnonYmus19941 ,

>>> Antwort = raw_input('Welche Sprache lernst du?')
Traceback (most recent call last):
    File "<pyshell#1>", line 1, in <module>
        Antwort = raw_input('Welche Sprache lernst du?')
NameError: name 'raw_input' is not defined

Verdammtes Python 3 ... ;-)

Außerdem nutzen die Meisten Windows. Nano oder gedit gibt es dafür nicht, soweit ich weiß ...

Kommentar von nastaritianer ,

Nutze Python 2. Bei den Änderung zu 3 war ich weg :D

Kommentar von nastaritianer ,

Einrückungen sind jetzt nur kaputt:C

 Unter Python 2 klappts :D

y='true'
z=1
while y=='true':
a = int(raw_input("Zutestende Primzahl: "))
b='true'
c=2
if a%2 == 0:
print 'false'

else:
while b == 'true':
if c == a/2+1:
b='false1'
print 'right'

elif a%c == 0:
print 'false'
b = 'false2'

else:
c=c+1
while z==1:
x = raw_input('Abbrechen?(J/n)')
z=0
if x== 'j':
print 'bye'
y='false'
elif x== 'J':
print 'bye'
y='false'
elif x== 'n':
y='true'
elif x== 'N':
y='true'
elif x== '':
y='false'
else:
print 'wrong input'
z=1
Kommentar von AnonYmus19941 ,

Ich schätze mal, dass diese Antwort zu einer anderen Frage gehört, oder?

Trotzdem möchte ich dir ein paar Möglichkeiten zeigen, die dir vielleicht weiterhelfen können.

  1. die Funktionen String.lower() und String.upper(), die einen String zurückgeben, in dem alle Zeichen klein bzw. groß sindSo musst du nicht mehr große und kleine Buchstaben einzeln prüfen.
  2. die Funktionen String.startswith(String) und String.endswith(String), die True oder False zurückgeben, je nachdem, ob der erste String mit dem Parameter beginnt bzw. endet oder nicht. Das hast du in diesem Code zwar nicht gebraucht, aber so kannst du jede Antwort, die mit "j" beginnt, als "ja" werten und anders herum
  3. Boolsche Variablen (https://de.wikipedia.org/wiki/Boolesche_Variable). Das sind Variablen, die nur zwei Zustände haben können, also wahr/falsch. In deinem Beispiel hast du Strings benutzt (für b und y), was natürlich auch geht, aber nicht sehr schön ist - dafür gibt es schließlich Boolsche VariablenErstellt werden sie mit "z = True" bzw. "z = False" (Großschreibung wichtig)
  4. Noch einen Tipp: in den letzten Zeilen hast du jeden möglichen Fall abgeklappert. Das geht zwar unter Python nicht schneller, aber das musst du auch nicht alles machen. Der Wert y ist von Anfang an "true", daher musst du nur die Möglichkeiten betrachten, bei denen er sich ändert.
Kommentar von nastaritianer ,

Ging eigentlich nur um raw_input:D

Aber Danke!

Kommentar von nastaritianer ,

Falls du gute Aufgaben suchst, kann ich das Eula-Projekt empfehlen

Keine passende Antwort gefunden?

Fragen Sie die Community