我如何在倒数第二行获得代码来打印我的选择(如在用户和管理员中(,而不是我选择的数字(1/2(
def menu2():
print("1. user")
print("2. admin")
menu2()
choice =input("Select role for the user :")
choice=float(choice)
if choice==1:
print(choice)
elif choice==2:
print(choice)
print("User role:", end=",")
print(choice)
还有一种方法可以将最后一行连接到前一行,而不需要逗号。对不起,我有很多问题,我是编程新手,没有人帮我:(
您需要使用int((而不是float((
def menu2():
print("1. user")
print("2. admin")
menu2()
choice =input("Select role for the user :")
choice=int(choice)
role = None
if choice==1:
role = 'user'
print(choice)
elif choice==2:
role = 'admin'
print(choice)
print("User role:", role)
您可以构建一个dict
映射选项,作为用户角色的数字,如下所示。
choices = """
1. user
2. admin
""".strip()
num_to_role = dict(line.split('. ', maxsplit=1)
for line in choices.split('n'))
print(num_to_role)
print()
def menu2():
print(choices)
menu2()
choice =input("Select role for the user: ")
print(choice)
if choice in num_to_role:
print("User role:", num_to_role[choice])
else:
print('Invalid option, choose one of:',
str(list(num_to_role.keys())).replace("'", ""))
播放示例:
{'1': 'user', '2': 'admin'}
1. user
2. admin
Select role for the user: 1
1
User role: user