如何将数字存储到变量中?
我需要解决的问题是:写一个程序,让用户输入一系列数字,然后计算这些数字的总和。程序首先要询问用户要输入多少个数字。接着,它会逐个输入这些数字,并打印出总和。到目前为止,我的代码是这样的:
def excercise13():
print("Programming Excercise 13")
print("This program adds a series of numbers.")
while True:
try:
numberTimes = float(input("Enter how many numbers will be added: "))
except ValueError:
print("Invalid input.")
else:
break
numberTimes = int(numberTimes)
while True:
try:
for i in range(1,(numberTimes+1)):
("""I don't know what to put here""")
except ValueError:
print("Invalid input.")
else:
break
totalSum =
print("The sum of",nums,"is:",totalSum)
print()
excercise13()
2 个回答
0
Python里面有一个内置的功能叫做 sum
函数。
def makesum():
try:
numbers = input('Enter the numbers to sum, comma seperated: ')
print 'The sum is {0}'.format(sum(numbers))
except:
print 'Input invalid. Try again.'
makesum()
makesum()
0
我将根据你的代码,逐块讲解解决方案。
def excercise13():
currentnumber = 0
在这里,我们创建了一个叫做 excercise13()
的函数,并把 currentnumber
设置为0。
print("Programming Excercise 13")
print("This program adds a series of numbers.")
while True:
try:
numberTimes = int(input("Enter how many numbers will be added: "))
except ValueError:
print("Invalid input.")
else:
break
你应该使用 int
而不是 float
。你能想象一个过程要进行3.5次吗?这样做还可以减少你之前的重复。
for x in range(numbertimes): #More pythonic way.
new_number = input ("Please enter a number to be added.")
currentnumber += new_number
上面的代码块让程序询问一个新的数字 numbertimes
次。然后,它把这个数字加到 currentnumber
上。
totalSum = currentnumber
print("The sum of",nums,"is:",totalSum)
print()
这一步把 totalSum
设置为最终的 currentnumber
。
excercise13()
这段代码开始执行你的程序。