Python 有没有一种方法可以持续要求用户输入一个数字,这样输入的每个数字都会对现有词典的价值有所贡献?
以下是我正在编写的代码:Python 有没有一种方法可以持续要求用户输入一个数字,这样输入的每个数字都会对现有词典的价值有所贡献?,python,dictionary,Python,Dictionary,以下是我正在编写的代码: ans = raw_input('Enter Amount of Players: ').lower() cf={} if ans == '2': p1 = raw_input('What is Player 1 named:') p2 = raw_input('What is Player 2 named:') cf[p1] = '50' cf[p2] = '50' ques = raw_input('Enter Amount Name
ans = raw_input('Enter Amount of Players: ').lower()
cf={}
if ans == '2':
p1 = raw_input('What is Player 1 named:')
p2 = raw_input('What is Player 2 named:')
cf[p1] = '50'
cf[p2] = '50'
ques = raw_input('Enter Amount Name: ').lower()
if ques == p1:
ques = p1
elif ques == p2:
ques = p2
elif ques == p3:
ques = p3
elif ques == p4:
ques = p4
elif ques == p5:
ques = p5
elif ques == p6:
ques = p6
elif ques == p7:
ques = p7
elif ques == p8:
ques = p8
inc = raw_input(ques + ' Enter Amount of Increase: ').lower()
if inc > str(0):
def cva(x):
y = cf[ques]
y = float(y)
return x + y
num = inc
num = float(num)
cf[ques]=cva(num)
for item in cf:
print item, cf[item]
我如何得到这个:
ques = raw_input('Enter Amount Name: ').lower()
if ques == p1:
ques = p1
elif ques == p2:
ques = p2
elif ques == p3:
ques = p3
elif ques == p4:
ques = p4
elif ques == p5:
ques = p5
elif ques == p6:
ques = p6
elif ques == p7:
ques = p7
elif ques == p8:
ques = p8
inc = raw_input(ques + ' Enter Amount of Increase: ').lower()
if inc > str(0):
def cva(x):
y = cf[ques]
y = float(y)
return x + y
num = inc
num = float(num)
cf[ques]=cva(num)
for item in cf:
print item, cf[item]
继续重复无限?我的意思是,当用户输入一个数字时,该数字将被添加到字典中已经存在的值中。有没有一种方法可以持续要求用户输入一个数字,这样输入的每个数字都会对字典的价值产生影响
if…elif
。如果它等于它自己,那么单独设置它是没有用的,如果为True:
,则可以根据需要启动死循环def cva(x)
。您不想多次定义它if inc>str(0)
替换为if int(inc)>0
,以检查inc
是否大于0试试这个:
ans = raw_input('Enter Amount of Players: ').lower()
cf={}
if ans == '2':
p1 = raw_input('What is Player 1 named:')
p2 = raw_input('What is Player 2 named:')
cf[p1] = '50'
cf[p2] = '50'
def cva(x):
y = cf[ques]
y = float(y)
return x + y
while True:
ques = raw_input('Enter Amount Name: ').lower()
inc = raw_input(ques + ' Enter Amount of Increase: ').lower()
if int(inc) > 0:
cf[ques]=cva(float(inc))
for item in cf:
print item, cf[item]
如果你想让它永远重复某件事,你可以尝试一下while循环。例如:
p = True
while p == True:
您可以将其放在要重复的代码的开头,并在后面的每一行前面加上制表符(或4个空格)。此外,如果您想在给定的次数内执行此操作,可以执行for循环:
for x in range(1,1000):
#Change the 1000 to whatever number you want
你可以把它放在你想重复的代码前面,然后再把代码按tab键。
如果这不能解决您的问题,请评论并说出您需要我解决的问题。通过执行所有这些If语句,您想要实现什么?您正在检查它是否等于某个值,如果等于,则将其设置为已等于的值?您的代码很难阅读;你应该澄清预期的结果。目标是(1)输入字符串,(2)输入值,(3)将与字符串关联的字典值增加该值吗?