[英]How to map user input as number to choice as string
如何在倒数第二行获取我的代码以打印我的选择(如在用户和管理员中)而不是我选择的数字(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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.