鱼C论坛

 找回密码
 立即注册
查看: 2496|回复: 3

[已解决]萌新代码求改进

[复制链接]
发表于 2020-2-4 23:18:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 只嗮网不打鱼 于 2020-2-4 23:18 编辑

这段代码本想按着流程图走的,但是人笨,代码应该本身应该还能改进,就是提醒输入次数的地方,改进代码请注释下,谢谢啦

流程图
1.png
  1. #user_name = 只晒网不打鱼
  2. #password = 123456

  3. counts = 3
  4. while counts>0:
  5.         user_name = input("请输入你的账户:")
  6.         if user_name=="只晒网不打鱼":
  7.                 break
  8.         else:
  9.                 if counts==3:
  10.                         print("用户名错误,你还有2次机会")
  11.                 if counts==2:
  12.                         print('用户名错误,你还有1次机会,请认真输入:')
  13.                         
  14.                 counts=counts-1
  15.         if counts ==0:
  16.                 print('多次错误,系统已退出!')
  17.                
  18. counts1 = 3
  19. while user_name == '只晒网不打鱼' and counts1>0:
  20.         password = int(input('请输入你的密码:'))
  21.         if password==123456:
  22.                 print('恭喜你,登陆成功!')
  23.                 break
  24.         else:
  25.                 if counts1==3:
  26.                         print("密码错误,你还有2次机会")
  27.                         print('请重新输入你的密码:')
  28.                 if counts1==2:
  29.                         print('你还有1次机会')
  30.         counts1 = counts1-1
  31.         if counts1==0:
  32.                 print('密码多次输入错误,系统已退出')
  33.                         
复制代码
最佳答案
2020-2-5 00:06:14
  1. name = False
  2. for counts in range(3, 0, -1):
  3.     user_name = input("请输入你的账户:")
  4.     if user_name=="只晒网不打鱼":
  5.         name = True
  6.         break
  7.     if counts==3:
  8.         print("用户名错误,你还有2次机会")
  9.     elif counts==2:
  10.         print('用户名错误,你还有1次机会,请认真输入:')
  11.     else:
  12.         print('多次错误,系统已退出!')
  13. if name == True:
  14.     for counts in range(3, 0, -1):
  15.         password = int(input('请输入你的密码:'))
  16.         if password==123456:
  17.             print('恭喜你,登陆成功!')
  18.             break
  19.         if counts==3:
  20.             print("密码错误,你还有2次机会")
  21.             print('请重新输入你的密码:')
  22.         elif counts==2:
  23.             print('你还有1次机会')
  24.         else:
  25.             print('密码多次输入错误,系统已退出')
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-2-5 00:06:14 | 显示全部楼层    本楼为最佳答案   
  1. name = False
  2. for counts in range(3, 0, -1):
  3.     user_name = input("请输入你的账户:")
  4.     if user_name=="只晒网不打鱼":
  5.         name = True
  6.         break
  7.     if counts==3:
  8.         print("用户名错误,你还有2次机会")
  9.     elif counts==2:
  10.         print('用户名错误,你还有1次机会,请认真输入:')
  11.     else:
  12.         print('多次错误,系统已退出!')
  13. if name == True:
  14.     for counts in range(3, 0, -1):
  15.         password = int(input('请输入你的密码:'))
  16.         if password==123456:
  17.             print('恭喜你,登陆成功!')
  18.             break
  19.         if counts==3:
  20.             print("密码错误,你还有2次机会")
  21.             print('请重新输入你的密码:')
  22.         elif counts==2:
  23.             print('你还有1次机会')
  24.         else:
  25.             print('密码多次输入错误,系统已退出')
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-5 01:16:02 | 显示全部楼层

版主万岁,不过还是有点蒙,给点注释呗,爱你
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-5 19:38:08 | 显示全部楼层
只嗮网不打鱼 发表于 2020-2-5 01:16
版主万岁,不过还是有点蒙,给点注释呗,爱你

1.已知次数的循环,用for更简洁
2.无论是否完成第二行的for循环,最后都要到13行处。所以加上一个变量判断用户名是否正确,如果正确再进入14行for循环。
3.其他部分基本上是照着你的稍作改变
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-22 15:52

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表