Предмет: Информатика, автор: Shakenaruna008

Задание №1. Дано положительное
целое число N. Если какая-либо
цифра заданного числа равна нулю,
то остановите цикл и в результате
выведите «Error», в противном слу-
чае отобразите само число в обрат-
ном порядке.


mathgenius: N = int(input())
M = 0
while N != 0:
digit = N % 10
if digit == 0:
M = 'Error'
break
M = 10*M + digit
N //= 10
print(M)
Shakenaruna008: Спасибо
Shakenaruna008: Можете пожалуцста помочь с еще одним заданием
Shakenaruna008: Он у меня на аккаунте
mathgenius: Вам питон нужен?
Shakenaruna008: Да
Shakenaruna008: С циклом break
Shakenaruna008: Сможете помочь?

Ответы

Автор ответа: mathgenius
5

while True:

   N = input('Введите натуральное число: ')

   if not N.isdigit():

       print('Число должно быть типа int! Попробуйте еще раз.')    

   else:

       N = int(N)

       break

M = 0        

while N != 0:

   digit = N % 10

   if digit == 0:

       M = 'Error'

       break

   M = 10*M + digit

   N //= 10

print(M)


mathgenius: Можно сделать без метода isdigit, но при помощи исключений, но вы их возможно не прошли
Shakenaruna008: Ок
Shakenaruna008: Можете помочь с другими задачами?
mathgenius: Тут есть огрех с нулем, ибо при N = 0 он просто не попадет в цикл, поэтому 8 строчку надо отредактировать.
mathgenius: M = 0 if N != 0 else 'Error'
nazmiranaurzalieva: Спасибо большое выручили! ♡
mathgenius: Значит скорее всего у вас не тот язык программирования, а за оскорбления бан кидаю однозначно. Ну а если это python, то программа будет работать без ошибок, даже если забыли внести исправление M = 0 if N != 0 else 'Error', 2 за это вам бы точно не поставили, ибо программа не работает только с нулем.
Похожие вопросы
Предмет: Русский язык, автор: Маша2222221
Предмет: Русский язык, автор: govnoconon42p33k1g
Предмет: Математика, автор: bogdanfetomir