Как объявить несколько товаров в l oop in python - PullRequest
0 голосов
/ 04 августа 2020

хорошо, так что я работаю над небольшим python калькулятором командной строки,

это был просто тест:

import time

calc = print("\n what calculation do you want to use\n")

time.sleep(1)

menu = print(" MENU:\n **********\n mult for multiplication\n add for addition\n sub for substraction\n div for divide\n **********")

time.sleep(1)

ask = input(" what calculation do you want to use from the menu? \n")

much = input(" how many numbers do you calculate? (5 maximumn & 2 minimum) \n")

if(much == " 2" or much == "2" and ask == " mult" or ask == "mult"):
    num1_2 = input(" First Number? ")
    num2_2 = input("\n Second Number? ")
    answer_2 = print(int(num1_2) * int(num2_2))


time.sleep(11)

и он работал правильно, я был планируя завершить все операторы if: и elif:, но потом я подумал, что могу сделать свой код более эффективным, поэтому я подумал, что могу использовать цикл for следующим образом:

for value in range(int(much)):
    output = input("Number? ")

print(int(value) * int(value))

примечание: (много) - это имя переменной, которое я использовал для объявления, сколько чисел пользователь хочет вычислить

, поэтому, когда я использовал для l oop, он показал неправильный ответ, например, когда я умножил 2 на 2, ответ был 1.

так как я могу объявить несколько элементов в for l oop, чтобы умножить ie первый ввод пользователя на второй?

это сбивает с толку, потому что количество выходов нестабильно.

1 Ответ

0 голосов
/ 04 августа 2020

Знайте, что for l oop запоминает только значение последней итерации. У вас может быть переменная (не обязательно список) вне хранилища значений вашего результата итерации. Например:

result = 1
for value in range(int(much)):
    output = input("Number? ")
    result*=int(output)
print(result)
...