1m0n2да кому ты нужен тебя троллить
1m0n2
1m0n2да кому ты нужен тебя троллить
1m0n2

FishHook
1m0n2Со строками и с числами выполняются совершенно разные операции и они даже по разному хранятся в памяти.
Ваше обьяснение :А откуда компьютер знает, что вы вводите именно число? – еще более туманно
1m0n2
угрозы с вашей стороны
1m0n2
1 по существу
FishHook
Вы мне нахер не сдались
1m0n2Делить надо не L, а X. Численно разницы не будет, но логически у тебя L раскладывается на составляющие - километры, метры, сантиметры. Их сумма должна давать исходное число. Так как от L уже отняты километры и метры, то вычислять сантиметры можно только от того, что осталось.S = L % 100
1m0n2Потому что input() всегда возвращает str. А число - это понятие растяжимое. 1 + 2j - это тоже число, только комплексное.
Например мне непонятно почему Input возвращает str даже если вводится число?
FishHookА что там по PEP8 не то?
А вообще не очень, PEP 8 почитайте.
1m0n2Он тут отсидел 5 лет, ты - две недели. Он знает больше как про питон, так и про форум.
Хороший пример модератор подает. Идет на хер такой модератор
py.user.next
Он тут отсидел 5 лет, ты - две недели. Он знает больше как про питон, так и про форум.
py.user.next
Делить надо не L, а X. Численно разницы не будет, но логически у тебя L раскладывается на составляющие - километры, метры, сантиметры. Их сумма должна давать исходное число. Так как от L уже отняты километры и метры, то вычислять сантиметры можно только от того, что осталось.
while True: x = input("Введите число или нажмите Enter для завершения: ") if x: try: x = int(x) except ValueError as err: print("Нужно вводить целое число") continue L = str(x) S = 0 i = 0 for y in L: Y = int(y) S = S + Y*10**i i = i + 1 else: break print(S)
1m0n2
А с использованием циклов я не перемудрил?
>>> while True: ... s = input("Введите расстояние в сантиметрах или нажмите Enter для завершения ") ... if not s: ... break ... try: ... n = int(s) ... except ValueError: ... print("Нужно вводить целое число") ... continue ... km = n // 100000 ... x = n % 100000 ... m = x // 100 ... sm = x % 100 ... print("В расстоянии", km, "километров", m, "метров", sm, "сантиметров.") ... Введите расстояние в сантиметрах или нажмите Enter для завершения 1234567 В расстоянии 12 километров 345 метров 67 сантиметров. Введите расстояние в сантиметрах или нажмите Enter для завершения 12345 В расстоянии 0 километров 123 метров 45 сантиметров. Введите расстояние в сантиметрах или нажмите Enter для завершения 100000 В расстоянии 1 километров 0 метров 0 сантиметров. Введите расстояние в сантиметрах или нажмите Enter для завершения >>>