Ik begrijp niet wat het probleem is met de code, het is heel eenvoudig, dus dit is een makkelijke.
x = input("Give starting number: ")
y = input("Give ending number: ")
for i in range(x,y):
print(i)
Ik krijg een foutmelding
Traceback (most recent call last):
File "C:/Python33/harj4.py", line 6, in <module>
for i in range(x,y):
TypeError: 'str' object cannot be interpreted as an integer
Als x bijvoorbeeld 3 is en y 14, wil ik dat het wordt afgedrukt
Give starting number: 4
Give ending number: 13
4
5
6
7
8
9
10
11
12
13
Wat is het probleem?
Antwoord 1, autoriteit 100%
Een eenvoudigste oplossing zou zijn:
x = input("Give starting number: ")
y = input("Give ending number: ")
x = int(x) # parse string into an integer
y = int(y) # parse string into an integer
for i in range(x,y):
print(i)
input
geeft een string terug (raw_input
in Python 2). int
probeert het te ontleden tot een geheel getal. Deze code genereert een uitzondering als de tekenreeks geen geldige integertekenreeks bevat, dus u zou deze waarschijnlijk een beetje willen verfijnen met try
/except
-instructies.
Antwoord 2, autoriteit 26%
Je krijgt de foutmelding omdat range() alleen int-waarden als parameters gebruikt.
Probeer int() te gebruiken om uw invoer te converteren.
Antwoord 3, autoriteit 13%
x = int(input("Give starting number: "))
y = int(input("Give ending number: "))
P.S. Functie toevoegen int()
Antwoord 4, autoriteit 13%
x = int(input("Give starting number: "))
y = int(input("Give ending number: "))
for i in range(x, y):
print(i)
Dit geeft het volgende weer:
Antwoord 5, autoriteit 4%
Ik vermoed dat je python3 gebruikt, waarin input(prompt)
een string retourneert. Probeer dit.
x=int(input('prompt'))
y=int(input('prompt'))
Antwoord 6, autoriteit 4%
Je moet invoer x en y converteren naar int zoals hieronder.
x=int(x)
y=int(y)
Antwoord 7, autoriteit 4%
Je moet het volgende invullen:
X = input("give starting number")
X = int(X)
Y = input("give ending number")
Y = int(Y)
Antwoord 8, autoriteit 4%
Of je kunt ook eval(input('prompt'))
gebruiken.