Палиндром на Python
Почему этот код верный, а нижний нет? Для чего нужна temp?
n = int(input('type num: '))
rev = 0
temp=n
while(n>0):
rev = (rev*10) + (n%10)
n=n//10
if temp == rev:
print('palindrom')
else:
print('not')
2 код:
n = int(input('type num: '))
rev = 0
while(n>0):
rev = (rev*10) + (n%10)
n=n//10
if n == rev:
print('palindrom')
else:
print('not')
Ответы (1 шт):
Автор решения: Zhihar
→ Ссылка
потому что во втором случае вы меняете n и сравниваете потом с n:
if n == rev:
print('palindrom')
else:
print('not')
но из-за while(n>0): у вас n всегда при последующей проверке равно 0
именно поэтому в первом случае n и сохраняется предварительно в temp, чтобы потом сравнивать с первоначальным значением n