Ich schrieb unter Python-Code. Und ich fand, dass python2 und python3 völlig unterschiedliches Ergebnis für die Eingabe von 1.1 hat. Warum gibt es einen solchen Unterschied zwischen python2 und python3? Für mich sollte int (1.1) 1 sein, dann ist die Position gültiger Index 1 innerhalb des Bereichs 0,1,2. Kannst du bitte erklären, warum Python3 so ein Ergebnis hat?Unterschied zwischen Python2 und Python3 - int() und Eingabe()
s=[1,2,3]
while True:
value=input()
print('value:',value)
try:
position=int(value)
print('position',position)
print('result',s[position])
except IndexError as err:
print('out of index')
except Exception as other:
print('sth else broke',other)
$ python temp.py
1.1
('value:', 1.1)
('position', 1)
('result', 2)
$ python3 temp.py
1.1
value: 1.1
sth else broke invalid literal for int() with base 10: '1.1'
Um es wirklich funktionieren zu lassen, können Sie position = int (float (Wert)) –
Können Sie versuchen, Werttyp zu überprüfen? –