Strings verbinden

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Champ8888
User
Beiträge: 30
Registriert: Mittwoch 11. Oktober 2017, 15:53

Habe ein Problem:
Versuche ein Programm zu schriben mit dem ich verschiedene Fragen stellen kann


d1 = hallo

a = randint(1,5)

x = "d"
x += str(a)

print(x)



Ich möchte dass er als Ausgabe hallo ist
Sirius3
User
Beiträge: 17712
Registriert: Sonntag 21. Oktober 2012, 17:20

@Champ8888: in Deinem Beispiel ist `hallo` nicht definiert. Wenn man Dein Programm laufen läßt, wird doch "d1" ausgegeben. Wenn Du den Inhalt der Variable d1 ausgegeben haben willst, ist das der falsche Weg. Statt Variablen mit Namen dynamisch zu erzeugen, nimmt man eine passende Datenstruktur, wie z.B. Wörterbücher oder Listen:

Code: Alles auswählen

import random

greets = ["Hallo", "Hey", "Tach", "Servus", "Moin"]
greeting = random.choice(greets)

print(greeting)
Champ8888
User
Beiträge: 30
Registriert: Mittwoch 11. Oktober 2017, 15:53

Vielen dank für die schnelle Antwort.

Wäre es möglich dieses Zufällige Wort als Frage zu deffinieren und die Antwort aus einer 2. Liste abzufragen?
Sirius3
User
Beiträge: 17712
Registriert: Sonntag 21. Oktober 2012, 17:20

@Champ8888: statt zweier parelleler Listen nimmt man eine Liste mit Tuplen:

Code: Alles auswählen

question_and_answers = [
    ("Was ist 4*3?", "21"),
    ("Welchen Tag haben wir heute?", "Montag"),
]

question, answer = random.choice(question_and_answers)
Champ8888
User
Beiträge: 30
Registriert: Mittwoch 11. Oktober 2017, 15:53

Muss man dort noch eine bibliothek importieren und wie genau fragt man das ab?
__deets__
User
Beiträge: 14494
Registriert: Mittwoch 14. Oktober 2015, 14:29

Steht doch oben - import random. Hat er vergessen im zweiten Listing, aber das kann man schon rausfummeln.
Champ8888
User
Beiträge: 30
Registriert: Mittwoch 11. Oktober 2017, 15:53

Bei mir kommt nur eine leere Zeile und keine Frage oder ähnliches
Sorry wenn ich das nicht so schnell verstehe
__deets__
User
Beiträge: 14494
Registriert: Mittwoch 14. Oktober 2015, 14:29

Na, die Frage und Antwort sind in question und answer gelandet. Wenn du die ausgeben willst, wirst du noch ein "print(question, answer)" oder so einfuegen muessen - von alleine protokolliert Python ja nicht einfach alles mit was so passiert in der Welt.
Champ8888
User
Beiträge: 30
Registriert: Mittwoch 11. Oktober 2017, 15:53

Vielen dank für eure Antworten hat mich echt weitergebracht
Antworten