鱼C论坛

 找回密码
 立即注册
查看: 1895|回复: 5

[已解决]课后作业,,,,,

[复制链接]
发表于 2023-8-11 16:00:05 | 显示全部楼层
在上面的代码中,问题出现在以下几个地方:

1. 在判断指令是否合法时,应该将用户输入的指令转换为整数类型后再进行判断。可以使用`int()`函数将输入的字符串转换为整数。

2. 在判断用户名和密码是否正确时,使用了逻辑运算符`or`,但是应该使用逻辑运算符`and`。条件应该是当用户名和密码都匹配时才通过验证。

3. `if order == 1:`和`if order == 2:`两个条件判断语句内的代码没有缩进,导致后续的代码块不会执行。

修改后的代码如下所示:

  1. print("""欢迎来到鱼C论坛~=======================""")
  2. def myfunc1():
  3.     print("""1.注册2.登录3.退出""")

  4. while True:
  5.     myfunc1()
  6.     order = int(input('请输入指令:'))  # 将输入的指令转换为整数类型
  7.     # 先判断用户给出的指令是否合理
  8.     while order not in [1, 2, 3]:
  9.         print('指令不合法')
  10.         order = int(input('请再次输入号码指令:'))
  11.     if order in [1, 2, 3]:
  12.         break

  13. # 对应指令内容的弹出
  14. if order == 1:
  15.     print("=======================")
  16.     name = input('请输入用户名:')
  17.     code = input('请输入用户密码:')
  18.     print('恭喜您,注册成功!!')
  19.     continue  # 继续下一次循环

  20. if order == 2:
  21.     print('=======================')
  22.     while True:
  23.         name = input('请输入用户名:')
  24.         code = input('请输入用户密码:')
  25.         # 用户检索
  26.         if name == '小甲鱼' and code == 'FishC520':  # 使用逻辑运算符and
  27.             print('登录成功!')
  28.             break
  29.         else:
  30.             print('用户信息错误')
  31.     break

  32. if order == 3:
  33.     print('=======================')
复制代码


这样修改后,代码会按照预期工作,正确判断指令的合法性,并且在用户名和密码匹配时进行登录。希望这能帮到你!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-29 10:26

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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