while true:
n = raw_input("put your family member's age. if you are done, put 'done'") # if I put int on n, I cannot put done.
if int(n) == int():
continue
if n == str():
print "ERROR"
continue
if n == "done":
break
print #I couldn't make it
我想让这个节目计算家庭成员人数和家庭成员年龄的总和
Q1。我应该把int放在n上吗?但是如果我把int放在n上,那么当我完成时会出错。我想只在n
中添加数字和'完成'Q2。我怎么算n?我应该列一个清单吗?
Python很有吸引力。但是当我遇到问题时,它会让我发疯。
答案 0 :(得分:0)
将年龄放在list
是可行的方法。您可以使用try except
块来了解用户何时完成。
ages = []
while True:
try:
n = int(raw_input("put your family member's age. if you are done, put 'done'"))
ages.append(n)
except ValueError:
break
然后你可以len(ages)
获取条目数量,sum(ages)
获得年龄总和
答案 1 :(得分:0)
要将项目放在列表中,您可以创建列表并使用append()方法。
alist = []
while True:
try:
n = int(raw_input("put your family member's age. if you are done, put 'done'"))
alist.append(n)
except ValueError:
break
print sum(alist) # gives you the sum of the ages
但是,如果您只需计算总年龄,则不需要列表:
tot = 0
while True:
try:
n = int(raw_input("put your family member's age. if you are done, put 'done'"))
tot += n
except ValueError:
break
print tot # gives you the sum of the ages
答案 2 :(得分:0)
使用此选项,您可以附加到列表,然后在用户键入done
后打印列表和总和。 isdigit()
避免使用try-except
,但请记住,它仅适用于正值,不带小数位。多年来,它应该是非常合适的:
age_list = []
while True:
n = raw_input("put your family member's age. if you are done, put 'done'")
if n.isdigit():
age_list.append(int(n))
elif n == "done":
break
else:
print "ERROR"
print age_list
print sum(age_list)