孤妓与酒 发表于 2021-2-6 17:11:47

第9讲:输入密码有点疑惑

我写的和答案逻辑差不多,不过少了一个continue,想问下这个有必要加continue,作用是啥??
Password='123456'
chance=3

while chance>0:
   password=input('请输入密码:')
   if password==Password:
         print('密码正确,正在进入....')
         break
   elif '*' in password:
         print('密码中不能含有"*"号!您还有', chance-1, '次机会!', end=' ')
   else:
         print('密码输入错误!您还有', chance-1, '次机会!', end=' ')
   chance-=1

昨非 发表于 2021-2-6 17:18:10

continue的作用是“ 跳出本次循环,进入下次循环 ”
如果当前循环中的内容已经执行完了的话,加不加continue是一样的

jackz007 发表于 2021-2-6 17:33:55

本帖最后由 jackz007 于 2021-2-6 17:43 编辑

   你这个代码不能做到当密码中带 '*' 时,不消耗输入次数。还有,就是剩余输入次数提示属于重复代码。
Password = '123456'
chance = 3
while chance > 0 :
   password = input('请输入密码:')
   if password == Password:
         print('密码正确,正在进入....')
         break
   else:
         if '*' in password:
             print('密码中不能含有"*"号!' , end = '')
         else:
             print('密码输入错误!' , end = '')
             chance -= 1
         if chance > 0 :
             print('您还有' , chance , '次机会!')
         else:
             print()
else:
    print('很遗憾,机会已经用完!')

孤妓与酒 发表于 2021-2-10 16:35:04

jackz007 发表于 2021-2-6 17:33
你这个代码不能做到当密码中带 '*' 时,不消耗输入次数。还有,就是剩余输入次数提示属于重复代码。

剩余输入次数提示属于重复代码啥意思??

Daniel_Zhang 发表于 2021-2-10 16:52:46

本帖最后由 Daniel_Zhang 于 2021-2-10 16:54 编辑

for i in range(10):
    if i %2 == 0:
      continue
    print(i)

尝试一下以上的代码,当 i % 2 == 0 时,满足 if 的条件,continue 后面的东西也就是 print 就不会执行,跳出当前的循环,但是会继续下一个循环(即 i++),直到整个 for 循环结束

如果没有 continue 的话,就不论 i 是多少都会执行 print

for i in range(10):
    print(i)
    continue

如果 continue 后面没有任何语句的话,就没有影响,代码如上
页: [1]
查看完整版本: 第9讲:输入密码有点疑惑