Найти - Пользователи
Полная версия: Определить число, получаемое выписыванием в обратном порядке цифр заданного натурального числа.
Начало » Центр помощи » Определить число, получаемое выписыванием в обратном порядке цифр заданного натурального числа.
1
morgan6206
Нужно написать программу с использованием цикла while, repeat и for. Начал писать для while:
a=raw_input('Введите число:')
b=0
while a > 0 :
    b= b * 10 + a % 10; 
    a/=10; 
print('Ваш результат:'%f) %b

Выдает ошибку:
Traceback (most recent call last):
File “C…”, line 4, in <module>
b= b * 10 + a % 10;
TypeError: not all arguments converted during string formatting

В чем проблема и как исправить?
Euler
Тут a - это строка, а не число.
JOHN_16
morgan6206
вам правильно сказали что “а” это строка. Что бы исправить ситуацию можно либо перевести строку в число int(a), либо использовать не raw_input, а input, но в этом случае нужно будет вводить только число, иначе вылезет ошибка.
morgan6206
Euler
Можешь помочь сделать программу с циклом “for”
Euler
У меня python 3, но смысл должен быть ясен:
s = input()
#первый вариант
result = 0
for digit in s:
	result += int(digit)
print(result)
#второй вариант
num = int(s)
result = 0
for digit in range(len(s)):
	result += num%10
	num //= 10
print(result)
morgan6206
Всем спасибо!
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB