2016-09-18 17 views
0

Ich versuche, eine Funktion zu schreiben, die zwei ganzzahlige Eingaben a und b und eine zufällige Ganzzahl für das Intervall [a, b] zurückgibt. Ich habe versucht ...Integer-Eingabe - TypeError: Kann 'int' -Objekt nicht implizit in str konvertieren

from random import randint 

a = input("a = ") 

b = input("b = ") 

print(randint(a,b)) 

... aber ich habe den folgenden Fehler.

Traceback (most recent call last): 
    File "/Users/malcolmjonesnz/PycharmProjects/exploratorySurgery/randomIntegerGeneraterOnA,B.py", line 8, in <module> 
    print(randint(a,b)) 
    File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/random.py", line 218, in randint 
    return self.randrange(a, b+1) 
TypeError: Can't convert 'int' object to str implicitly 

Ich habe versucht, rumgespielt „explizit“, um die Eingaben in Strings zu konvertieren, aber ich habe gearbeitet nur um mich in einen Zustand der Verwirrung, weil ich so ein Anfänger bin.

Jede Hilfe wäre sehr willkommen!

Antwort

0

Das Programm funktioniert gut für mich. Bitte ersetzen Sie die Eingabe durch Werte, die Sie im Programm definieren, z. B. a = 1 und b = 5.

Welche Version von Python verwenden Sie? Vielleicht verursacht Ihr Druckbefehl einige Fehler, da der Fehler von dieser Zeile zu kommen scheint?

+0

Python 3.5, mit PyCharm als Schnittstelle. Die Definition von Werten innerhalb des Programms funktioniert auch für mich. Ich war nur auf der Suche nach einer Möglichkeit, das Programm so zu verallgemeinern, dass es nicht für ein Intervall spezifisch ist. –

Verwandte Themen