我试图通过用户输入选择一个字典,然后从中选择一个在所选字典中列出的函数来运行。我的代码发生了什么是它将正确地选择正确的字典,但是在挑选函数时,它将在输入所需的函数ID时工作,但在所选词典中重复每个项目条目。我需要做什么来解决这个问题?
实际定义的函数只是在测试/调试时打印一个随机数作为占位符。此外,为了在测试/调试时简单起见,我将函数保留在其十六进制内存位置。
calculus = {
'1': cal1,
'2': cal2,
'3': cal3,
}
physics = {
'1': phy1,
'2': phy2,
'3': phy3,
}
def Main():
a = input("Choose equation set. Calculus or Physics: ")
if a == "Calculus":
for item in (calculus.keys()):
print(item,":",calculus.get(item,'-'))
eq_id = input("Enter desired equation function id: ")
eq_arg = input("Press Enter")
calculus[eq_id](eq_arg)
elif a == "Physics":
for item in (physics.keys()):
print(item,":",physics.get(item,'-'))
ph_id = input("Enter desired equation id: ")
ph_arg = input("Press Enter")
physics[ph_id](ph_arg)
这是输出给我的示例:(“”中的用户输入,“ ”中的函数名称,“ ”中的输出)
选择方程组。微积分或物理学:“物理学”
1:(函数 phy1 在 0x7f32a527c6a8)
输入所需的方程 id:“1”
按 Enter
'“347”'
2 :(函数 phy2 在 0x7f32a527c730)
输入所需的方程 id:“3”
按 Enter
'” 540"'
3 : (function phy3 at 0x7f32a527c7b8)
输入所需的方程 id: "2"
Press Enter
'"429"'
但我希望它更像这样:
选择方程组。微积分或物理学:“物理学”
1:“物理学 1”
2:“物理学 2”
3:“物理学 3”
输入所需的方程 ID:“2”
'“执行选择的函数”'
慕工程0101907
开满天机
守候你守候我
相关分类