def multiply():
nums = []
total = 1
multiplyCount = int(input("How many numbers do you want to multiply ? : "))
for x in range(multiplyCount):
newNum = int(input("Enter a number: "))
nums.append(newNum)
for x in range(len(nums)):
total *= nums[x]
print(total)
multiply()
这是我的代码。我不想让它要求乘法计数,而是继续向乘法计数添加数字,直到用户认为足够为止。我该怎么办?
答案 0 :(得分:3)
您可以使用类似这样的内容:
total = 1
while True:
choice = input('Enter a number to be multiplied, or stop to terminate: ')
if choice.lower() == 'stop':
break
try:
total *= int(choice)
print('Current total is {}'.format(total))
except ValueError:
print('Only enter numbers or stop')
答案 1 :(得分:1)
例如,您可以使用while
循环执行此操作,
def multiply():
nums = []
total = 1
while True:
newNum = input("Enter quit or a number: ")
if newNum.lower() == "quit":
break
else:
nums.append(int(newNum))
for x in range(len(nums)):
total *= nums[x]
print(total)
multiply()
还有很多其他方法可以对此进行进一步改进,但是我将留给您:)
答案 2 :(得分:0)
(1)最好的方法是使用前哨值,如果用户要停止,则由用户输入特定值。在以下代码中,要输入完成的标记值是“ Q”。显然可以根据程序员的选择进行修改,但是不建议在这种情况下选择整数/布尔值(以允许用户将任何值相乘)。
(2)另外,可以使用变量代替列表。 (x * = y表示x = x * y)
(3)变量res初始化为1,因为该整数在乘法运算中是中性的。
def multiply():
res, number = 1, 1
while number != 'Q':
res *= int(number)
number = input("Enter a number (Q for leave): ")
print(res)