2016-04-29 16 views
0

Grundsätzlich habe ich einen Code für einen zufälligen Testantwort Getter gemacht. Meine Idee war, es würde Ihnen zufällige Antworten von einer a b c d Auswahl geben. Wenn ich den Code ausführe, scheint er das Programm zu schließen. HierWarum funktioniert mein Code für eine zufällige Antwort Getter nicht?

ist der Code:

import random 
Question_total = int(input("How Many answers do you need?")) 
x = random.choice('abcd') 
print(x * Question_total) 

Wenn ich Eingabe eine Zahl es nur beendet werden. Hier ist der Fehler (ich gebe vier ein):

dddd 
Exit status: 0 
logout 
Saving session... 
...copying shared history... 
...saving history...truncating history files... 
...completed. 

Hilfe wäre willkommen.

+0

Sie benötigen eine Schleife. Sie generieren ein zufälliges Ergebnis und wiederholen diese Ergebniszeichenfolge mehrmals. –

Antwort

1

Es macht genau das, was es sollte. Wenn Sie genau hinsehen, werden Sie sehen, dass es gedruckt dddd. So wie du es geschrieben hast, schnappt es einen Wert von 'abcd' und druckt es Question_total mal (x * Question_total). Wenn Sie stattdessen Question_totalverschiedene Werte greifen möchten, müssen Sie oft aufrufen.

Question_total = int(input("How Many answers do you need?")) 

# Choose from 'abcd' Question_total different times and create a list of choices 
choices = [random.choice('abcd') for _ in range(Question_total)] 
print ' '.join(choices) 

# a b d a 

Oder wenn Sie es als ein heraus schreiben wollen für Schleife

Question_total = int(input("How Many answers do you need?")) 

choices = list() 

# Go through the loop Question_total times 
for x in range(Question_total): 
    # Make a choice 
    newchoice = random.choice('abcd') 

    # Stick the choice in a list so we can remember it 
    choices.append(newchoice) 

    # Print the choice 
    print newchoice 
+0

Danke für die Hilfe, aber denkst du, du kannst mir sagen, wie ich meinen aktuellen Code ändern würde, um ihn mehrere Male anzurufen? Ich habe versucht, diesen Code auszuführen und es gab mir diesen Fehler: print (* Optionen) ^ SyntaxError: ungültige Syntax. Ich weiß also nicht, wie man es richtig in einem Kommentar formatiert, aber es sagt, dass die print-Anweisung keine gültige Syntax ist. –

+1

@jameslatimer Entschuldigung, ich dachte du wärst auf Python 3. Es sollte jetzt funktionieren. Auch dieser Code ist * bereits * eine Anpassung des von Ihnen geposteten Codes. – Suever

+0

danke Kumpel. ich schätze es –

0

Der Code ist zu tun, was es iS soll. Sie geben ihm eine Nummer dann und Sie eine zufällige Buchstaben auswählen multiplizieren diese Zahl

In Python, string * Anzahl der String verketteten sich zurück Anzahl mal

Was Sie tun müssen, ist zu tun

for _ in range(input number): 
    Print one random letter 
Verwandte Themen