在python中循环选项选择



我买了一个支持python的TI-84 Plus CE,并认为我可以尝试学习python来制作小抄等。

无论如何我有这个代码到目前为止,我努力理解的是如何循环它,所以我可以继续进入一个选择,而不是它只是运行和退出。

将感谢任何建议等我试着看看其他的帖子,但我认为这只是让我更困惑。

这是我到目前为止的代码…

def Kilo():
print("1 000 | 10^3  |  k")
def Mega():
print("1 000 000  |  10^6  | M")
def Giga():
print("1 000 000 000  |  10^9  | G")
def Tera():
print("1 000 000 000 000  |  10^12  | T")
def Peta():
print("1 000 000 000 000 000  |  10^15  | P")
def Exo():
print("1 000 000 000 000 000 000  |  10^18  | E")
def milli():
print(".001  |  10^-3  | m")
def micro():
print(".000 001  |  10^-6  | u")
def nano():
print(".000 000 001  | 10^-9  |  n")
def pico():
print(".000 000 000 001  |  10^-12  | p")
def femto():
print(".000 000 000 000 001  |  10^-15  | f")
def atto():
print(".000 000 000 000 000 000 001  |  10^-18  | a")
def invalid_opt():
print("Invalid choice")
def Exit():
exit()
options = {"1":["K Kilo",Kilo], "2":["M Mega",Mega], "3":["G Giga",Giga], "4":["T Tera",Tera], "5":["P Peta",Peta], "6":["E Exo",Exo], "7":["m Milli",milli], "8":["u micro",micro], "9":["n nano",nano], "10":["p pico",pico], "11":["f femto",femto], "12":["a atto",atto], "99":["Exit",exit]}
for option in options:
print(option+") "+options.get(option)[0])

choice = input("Please select: ")

val = options.get(choice)
if val is not None:
action = val[1]
else:
action = invalid_opt
action()

如果我正确理解了你的问题,你想要有一个无限循环。可以通过while True:

实现
while(True):
choice = input("Please select: ")

val = options.get(choice)
if val is not None:
action = val[1]
else:
action = invalid_opt
action()

而且,我认为定义很多函数来做这件事效率不高。

相关内容

  • 没有找到相关文章

最新更新