【26讲课后题】prompt变量的优点?
先来小甲鱼版本user_data = {}
def new_user():
prompt = '请输入用户名:'
while True:
name = input(prompt)
if name in user_data:
prompt = '此用户名已经被使用,请重新输入:'
continue
else:
break
passwd = input('请输入密码:')
user_data = passwd
print('注册成功,赶紧试试登录吧^_^')
def old_user():
prompt = '请输入用户名:'
while True:
name = input(prompt)
if name not in user_data:
prompt = '您输入的用户名不存在,请重新输入:'
continue
else:
break
passwd = input('请输入密码:')
pwd = user_data.get(name)
if passwd == pwd:
print('欢迎进入XXOO系统,请点右上角的X结束程序!')
else:
print('密码错误!')
def showmenu():
prompt = '''
|--- 新建用户:N/n ---|
|--- 登录账号:E/e ---|
|--- 推出程序:Q/q ---|
|--- 请输入指令代码:'''
while True:
chosen = False
while not chosen:
choice = input(prompt)
if choice not in 'NnEeQq':
print('您输入的指令代码错误,请重新输入:')
else:
chosen = True
if choice == 'q' or choice == 'Q':
break
if choice == 'n' or choice == 'N':
new_user()
if choice == 'e' or choice == 'E':
old_user()
showmenu()
再来我自己写的
def register():
print("新建用户初始化...")
while 1:
name = input("请输入用户名:")
if name in user:
print("用户名已被占用")
continue
else:
break
while 1:
psw = input("请输入密码:")
psw2 = input("请再次输入密码:")
if psw != psw2:
print("两次密码不一致,请重新输入")
continue
else:
user = psw
print("用户%s创建成功" %name)
break
print("正在转入登录界面...\n\n\n\n")
def login():
print("登录界面初始化...")
while 1:
name = input("请输入用户名:")
if name not in user:
print("用户名不存在")
continue
else:
break
n = 3
while n:
psw = input("请输入密码:")
if user != psw:
n -=1
if n:
print("您还有%d次机会" %n)
else:
print("您的账号已被锁定,请拨打110解锁\n\n\n\n")
continue
else:
print("密码正确")
print("正在转入登录界面...\n\n\n\n")
break
user = {}
while 1:
print("\n\n\n\n")
print("|------------------------|")
print("|------新建用户:N/n-----|")
print("|------登录账户:E/e-----|")
print("|------退出程序:Q/q-----|")
k = input("|-------请输入指令-------|\n|------------------------|\n")
if k not in "NnEeQq":
print("非法输入")
continue
elif k in "Nn":
register()
login()
continue
elif k in "Ee":
login()
continue
elif k in "Qq":
print("|----程序退出,请稍后----|")
break
print("|-----大哥以后常来玩-----|\n\n\n\n")
问题是,
1.添加prompt作为变量来代表提示语言字符串有什么优点呢?
2.如何解释 prompt = ''' #为什么是三个引号?
优点就是方便,简洁,用了一句input就搞定,不需要象你的代码那样要用到好几行print,'''或""",三个引号,无论单双,支持换行的字符串,这样不用加\n或者用多行命令来实现换行输出。 txxcat 发表于 2020-2-20 00:06
优点就是方便,简洁,用了一句input就搞定,不需要象你的代码那样要用到好几行print,'''或""",三个引号, ...
学习了!多谢!!
页:
[1]