我正在尝试学习Python,我试图用一个简单的程序测试我刚学到的东西。该程序询问用户他们想要输入多少个数字,然后程序将使用循环来存储数字量并找到平均值。
numberOfTimes = int(input("How many numbers do you want to use today? "))
count = 0
while(count < numberOfTimes):
numberInput = int(input("Enter the number: "))
count += 1
print((numberInput + numberInput + numberInput) / (count))
如何获取numberInput来存储每个变量?感谢先进的帮助!
答案 0 :(得分:0)
您可以在循环上方声明一个类似totalNumber
的变量,然后您在循环中所要做的就是:
totalNumber += int(input("Enter your number: ")
答案 1 :(得分:0)
您不需要存储所有数字,只需按照您的要求加总:
count = 0
total = 0
while(count < numberOfTimes):
total += int(input("Enter the number: "))
count += 1
print(total / count)
答案 2 :(得分:0)
恭喜学习python,它是一门很棒的语言。
因此,如果您想拥有最大的灵活性,则应将您的号码保存在列表中。
python中的列表行为类似于经典已知的数组列表(例如在java中),因为它可以通过索引访问,并且可以扩展并且没有固定的长度。
因此,使用列表可以将每个数字添加到列表中:
numbers = list()
while(count < numberOfTimes):
numberInput = int(input("Enter the number: "))
numbers.append(numberInput)
count += 1
由于您现在使用的是可变长度列表,您还可以使用长度(len(mylist)
列表来确定while循环的结束:
numbers = list()
while(len(numbers) < numberOfTimes):
numberInput = int(input("Enter the number: "))
numbers.append(numberInput)
结合所有这些步骤:
numberOfTimes = int(input("How many numbers do you want to use today? "))
numbers = list()
while(len(numbers) < numberOfTimes):
numberInput = int(input("Enter the number: "))
numbers.append(numberInput)
print( sum(numbers) / len(numbers) )
我添加了一些功能,以便更轻松,例如sum(numbers)
是一个内置函数,而不是总结列表中的所有整数,并len(numbers)
再次替换计数器。
执行这样的程序会很快显示,你只得到结果的整数,这不是正确的平均值,这里你需要知道在python中除以两个整数得到的整数是大部分的时间不是你想要的结果。有一个技巧,将其中一个数字(或两个)转为浮点数,然后除以:
average = float(sum(numbers)) / len(numbers)
print(average)
如果您想尝试更多步骤,例如根据你输入的内容跳出while循环,摆脱第一个问题,要求输入一定数量的数字:
print("Write some numbers, I will calculate the average. Finish with 'enter'")
numbers = list()
while(True):
myinput = raw_input("Enter a number: ")
if myinput == '':
break
numberInput = int(myinput)
numbers.append(numberInput)
average = float(sum(numbers)) / len(numbers)
print(average)
这次更改是:使用raw_input
而不是input
建议使用,如果没有到达break
,则while循环将继续运行如果您没有提供任何输入但只是点击输入就会执行,并且计数的初始问题显然已丢失。