这个里边 while true 有点不能理解
这个是小甲鱼 字典的题。 我不能理解的地方都被我标记出来了 求大佬用最简单的语言让小萌新秒懂, 爱你们'''
this is a practice which is used to establish a sample login system
from fishc forum
'''
user_data = {}
def new_user():
prompt ='please enter your username: '
while True:
name = input(prompt)
if name in user_data:
# 这里的prompt不会影响上边的prompt 吗?
prompt = 'This username has been used, please use another one:'
continue
else:
break
passwd = input('please enter the password:')
user_data=passwd
print('register successfully! try to login now!!!!')
def old_user():
prompt = 'please enter your username:'
while True:
name = input(prompt)
if name not in user_data:
prompt = 'the username you input is not existed, please enter the username again:'
continue
else:
break
passwd = input('please enter the password:')
pwd = user_data.get(name) # 返回指定键的值?
if passwd == pwd:
print('well come to the homepage of the application, you can quit the application by click x')
else:
print('you entered a wrong password!')
def showmenu():
#这种三个点点的中间的也是字符串吗?? 是不是三个点点中间的是可以任意换行,
# 就像我们平时写东西一样, 回车代表换行?
prompt = '''
|---creat a new account:N/n---|
|---login your account: E/e---|
|---quit the application please: Q/q---|
|---please enter the option---|'''
while True:
chosen = False#这里为什么chosen 要定义为False啊?
while not chosen: #如果上面定义了是false, 那么这里就应该是说true的时候循环啊
choice =input(prompt)
if choice not in 'NnEeQq':
print('you entered a wrong option, please try again:')
else:
chosen = True #这里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() 1,会呀,目的就是要改变上面的prompt
2,是的
3,这个是小甲鱼课上讲过的啊,我觉得你没有认真学,但你的理解是对的
4,你可以按照英语来理解,如果没有选择,就一直循环(条件是选择在N,E,Q这三个字母之中)
你说的恰恰相反,要是为True了,就是while not True,也就是 while False,自然会退出循环。
而while not False就是while True。
要是真的不能理解,可以这样:
while True:
choice =input(prompt)
if choice not in 'NnEeQq':
print('you entered a wrong option, please try again:')
else:
break
我觉得小甲鱼的本意是认为这样会让你们更好理解(更贴近英语)
while True 就是如果条件为真
qiuyouzhi 发表于 2020-5-22 14:02
1,会呀,目的就是要改变上面的prompt
2,是的
3,这个是小甲鱼课上讲过的啊,我觉得你没有认真学,但你 ...
谢谢好像能理解了 {:10_257:} 我有个疑问:
while True:
chosen = False
while not chosen:
choice =input(prompt)
if choice not in 'NnEeQq':
print('you entered a wrong option, please try again:')
else:
chosen = True
这里为什么不用continue和break在执行while True循环的继续和结束,而用chosen的true和false呢?感觉这样要更复杂一些 许美丽学编程 发表于 2020-6-15 13:42
我有个疑问:
while True:
chosen = False
是不是因为下面已经有了break,所以如果前面这里用了break会导致整个while true循环结束?
页:
[1]