2024-04-27 02:44:24 发布
网友
这是我的密码:
H = Waterstof = 1.008 He = Helium = 4.003 atomen = [H, He] vraag = raw_input("Welke atoommassa wil je weten? \n") for vraag in atomen: print vraag break
我没有把所有的原子都包括进去,以确保它不会太大,你们看不懂。你知道吗
所以问题是我的输出总是1.008(H的质量),即使我输入He。你知道吗
请帮帮我!你知道吗
在[H, He]上循环并打印第一个变量;break结束循环,这样就永远不会打印第二个值。你知道吗
[H, He]
break
与其使用单独的变量和列表,不如使用字典:
atom_weights = {'H': 1.008, 'He': 4.003}
这允许您为给定的原子缩写打印正确的原子重量:
print atom_weights[vraag]
如果您也想支持全名,那么也必须映射这些全名:
atom_names = {'waterstof': 'H', 'helium': 'He'}
这会将小写名称映射到符号,因此您可以首先检查用户是否输入了全名并将其映射到符号:
symbol = atom_names.get(vraag.lower(), vraag)
这将Waterstof转换为waterstof,并找到H。如果名称不存在,则假定用户输入了符号。你知道吗
Waterstof
waterstof
H
您可以重新使用vraag,然后中断循环的第一次迭代 这应该起作用:
vraag
H = Waterstof = 1.008 He = Helium = 4.003 atomen = [H, He] vraag = raw_input("Welke atoommassa wil je weten? \n") for v in atomen: if v==vraag: print vraag break
然而,为了更好地解决你的实际问题,我可能会使用字典(见martijnpieters的答案)
在
[H, He]
上循环并打印第一个变量;break
结束循环,这样就永远不会打印第二个值。你知道吗与其使用单独的变量和列表,不如使用字典:
这允许您为给定的原子缩写打印正确的原子重量:
如果您也想支持全名,那么也必须映射这些全名:
这会将小写名称映射到符号,因此您可以首先检查用户是否输入了全名并将其映射到符号:
这将
Waterstof
转换为waterstof
,并找到H
。如果名称不存在,则假定用户输入了符号。你知道吗您可以重新使用
vraag
,然后中断循环的第一次迭代 这应该起作用:然而,为了更好地解决你的实际问题,我可能会使用字典(见martijnpieters的答案)
相关问题 更多 >
编程相关推荐