【发布时间】:2020-08-03 22:48:08
【问题描述】:
好的,所以我正在开发一个小型 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))
注意:(much)是我用来声明用户想要计算多少个数字的变量名
所以,当我使用 for 循环时,它显示了一个错误的答案,例如,当我将 2 乘以 2 时,答案是 1。
那么我如何在for 循环中声明多个项目以将第一个用户输入乘以第二个用户输入?
这很令人困惑,因为输出的数量并不稳定。
【问题讨论】:
-
将它们添加到列表中。
-
你让它打印 value x value,其中 value 是最后一个索引(如果 much 是 2,那么 value 是 1),而不是为用户输入编号。
-
所以我应该乘以什么?
-
我会在 for 循环之前尝试 output = 1,并在循环内输出 *= input(“Number”)。然后打印输出。
-
我试过了,但是当我运行程序并输入 2 次 2 时,程序关闭并且不打印任何内容
标签: python for-loop if-statement declare