Мой код:
Код: Выделить всё
num_str = input('Whole number: ')
try:
num_int = int(num_str)
if num_int % 2 == 0:
print(f'{num_int} is an even number.')
else:
print(f'{num_int} is an odd number.')
except:
print(f'"{num_str}" is not a whole number!')
Код: Выделить всё
except
Поэтому мне интересно: почему Python может преобразовать десятичное число, хранящееся в виде строки, в целое число, но не может преобразовать целое число, также как строку, в десятичное число?
Код 1: ввод целого числа
Код: Выделить всё
a = str(input('Enter a number: '))
int(a)
Код: Выделить всё
>>>Enter a number: 15
>>>15.0
>>>
Код: Выделить всё
a = str(input('Enter a number: '))
print(int(a))
Код: Выделить всё
>>>Enter a number: 15.5
>>>Traceback (most recent call last):
File "C:/Users/Arthur Fleming/OneDrive/Área de Trabalho/test2.py", line 2, in
print(int(a))
ValueError: invalid literal for int() with base 10: '15.5'
Подробнее здесь: https://stackoverflow.com/questions/786 ... l-in-a-str