【问题标题】:How do i declare multiple items in a for loop in python如何在python的for循环中声明多个项目
【发布时间】: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


【解决方案1】:

知道,for 循环只记住最后一次迭代的值。您可能在存储迭代结果的值之外有一个变量(不一定是列表)。例如:

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

【讨论】:

  • 是的,但我不太明白你的意思是什么(你可能有一个变量(不一定是一个列表)在存储迭代结果的值之外)?
  • 我认为@redmicelles 是说您可以使用 int 或 float(例如给出的示例中的 result)而不是 alaniwi 建议的列表来存储中间和最终计算。
猜你喜欢
  • 2011-03-21
  • 2021-09-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多