#python #loops #multiplication
Вопрос:
Я застрял на этом коде из mypy2 в течение последнего часа, но, похоже, не могу разобраться в этом. Он хочет, чтобы я написал программу, которая умножает множество чисел вместе. Где программа будет продолжать запрашивать у пользователя номера до тех пор, пока они не введут 0.
Когда они вводят 0, он выходит из цикла и не умножает другие числа на 0. Наконец, он печатает последнее большое число с печатью оператора(«Окончательный ответ», число).
«Например, если пользователь вводит 2, 5, 4, затем 0, ответ должен быть 40. Вы можете рассчитать это, начав с 1, умножив это на 2, чтобы получить 2. Затем умножьте это на 5, чтобы получить 10. Затем умножьте это на 4, чтобы получить 40».
В нем говорится, что мне нужна одна переменная для хранения ввода пользователя, а другая-для отслеживания большого умноженного числа.
Комментарии:
1. Пожалуйста, предоставьте код. А также умножение любого числа на 0 = 0?
Ответ №1:
Я бы сделал что-то подобное:
my_number = 1
while True:
new_number = int(input("Enter any number to multiply:"))
if new_number == 0:
print(f"Result is: {my_number}")
break
my_number *= new_number
Комментарии:
1. Большое спасибо за помощь 🙂 Я новичок в кодировании и действительно работал только с условными обозначениями в своем классе. Я пробовал, и, похоже, это не работает. Я не знаком с тем, что означает Истина, разрыв или *=.
2.
True
является логическим значением . Если условиеTrue
выполнено , цикл while будет продолжаться вечно.break
указывает потоку управления выйти из цикла (в данном случае изwhile True:
цикла), поэтому на самом деле он не зацикливается навсегда.x *= y
это просто сокращениеx = x * y
.3. @esier0 Вы упомянули, что код не работает для вас. Как вы им управляете? Я предлагаю сохранить предоставленный мной код в файл. файл py и выполните его через командную строку, скопируйте и вставьте его в оболочку python, это не сработает.
4. Моя вина! Это работает, когда я на самом деле ставлю его на свой Питон! Я просто пытаюсь понять, почему это не происходит на mypy2 сейчас, так как именно там я должен найти решение. Еще раз спасибо тебе
Ответ №2:
Вот фрагмент кода для вас
product=1
while(True):
num=int(input())
if(num==0):
print("Value: ",product)
break
product*=num