词典的键 y
我有字典 x
x = {1 :'a', 2 :'b', 3 :'c', 4 :'d', 5 :'e'}
程序将这些显示为选项。接下来,用户选择一个进行更新,然后输入值。该程序应该将此值添加到另一个字典中的运行总计 y 。
字典x)的,然后
x 的值
将输入字典 y 作为键
示例:
$python mysc.py
1. a
2. b
3. c
4. d
5. e
choose number to input case : **1**
you choose 'a' #now i have a as keys of dictionary *y*
input number : **5**
y = { 'a' : 5 }
1. a
2. b
3. c
4. d
5. e
choose number to input case : **1**
you choose 'a' #now i have a as keys of dictionary *y*
input number : **6**
y = { 'a' : 11 } #values of 'a' change to 11(5+6)
1. a
2. b
3. c
4. d
5. e
choose number to input case : **5**
you choose 'e' #now we add a new keys of dictionary *y*
input number : **6**
y = { 'a' : 11, 'e' : 5 }
代码:
y = {}
while True:
x = {1 :'a', 2 :'b', 3 :'c', 4 :'d', 5 :'e'}
n = input('choose number to input keys : ')
nn = x[n]
print 'your choose is ',x[n]
m = input('input number : ')
y[nn] = m
print y
答案 0 :(得分:1)
这个程序确实有问题。首先,字典对于您的选择菜单来说太过分了。由于您永远不会更改它,您可以简单地对选项进行硬编码并每次打印列表。
您的 y 字典是五个项目的运行总和 - 累积 - 的集合。你从来没有得到过一笔款项,因为你的代码只用一个新的代替现有的价值。我添加了代码来检查项目是否已经在 y ;如果是这样,新代码会将新值添加到旧代码中。
y = {}
x = " abcde"
while True:
for i in range(1,len(x)):
print i, ':', x[i]
n = input('choose the number of the key you want to update:')
key_num = x[n]
print 'your choice is ',x[n]
m = input('input update quantity : ')
if key_num in y:
y[key_num] += m
else:
y[key_num] = m
print y
输出:
$ python2.7 so.py
1 : a
2 : b
3 : c
4 : d
5 : e
choose the number of the key you want to update:4
your choice is d
input update quantity : 5
{'d': 5}
1 : a
2 : b
3 : c
4 : d
5 : e
choose the number of the key you want to update:1
your choice is a
input update quantity : 5
{'a': 5, 'd': 5}
1 : a
2 : b
3 : c
4 : d
5 : e
choose the number of the key you want to update:4
your choice is d
input update quantity : 6
{'a': 5, 'd': 11}
1 : a
2 : b
3 : c
4 : d
5 : e
choose the number of the key you want to update:
-- I interrupted the program --
这会让你进入下一阶段吗?