Python如何将用户输入的数字映射为对应字符串选项并调整打印格式
Python代码问题解决
针对你提出的两个问题,对应修改方案如下:
问题1:打印角色名称而非数字
你可以新增一个变量存储角色的字符串名称,在判断用户选择的同时给该变量赋值即可。另外此处输入的是选项序号,转int类型比float更适配场景。
问题2:去掉输出内容中间的逗号
当前输出带逗号是因为你手动把第一个print的结束符end参数设为了逗号。你可以直接把要输出的两部分内容合并到同一个print语句中,不需要拆分两次打印。
修正后的完整代码
def menu2(): print("1. user") print("2. admin") menu2() choice = input("Select role for the user :") # 转int适配序号场景 choice = int(choice) # 定义变量存储角色名称 role_name = "" if choice == 1: role_name = "user" # 如果需要在分支内打印,这里直接打印role_name即可 print(role_name) elif choice == 2: role_name = "admin" print(role_name) # 单条print直接完成输出,无多余符号 print(f"User role:{role_name}")
可选写法说明
如果你习惯使用多参数的print写法,也可以通过sep参数设置分隔符为空,效果完全一致:
print("User role:", role_name, sep='')
内容的提问来源于stack exchange,提问作者user17490056
相关产品推荐
相关产品推荐

