mhxy199069 发表于 2020-4-29 22:26:17

零基础学习26讲字典动动手的问题

字典动动手里面我在编辑第一个账号注册的时候总是出现错误,而且我还不知道错在哪里,请大佬指点一下!!

Twilight6 发表于 2020-4-29 22:29:08

本帖最后由 Twilight6 于 2020-4-29 22:32 编辑

下次问问题把代码发上来

不懂发搓这个——>> https://fishc.com.cn/thread-52272-1-1.html



不能单独使用else,要把else打在while,if,for等同一缩进下,具体在谁缩进下要看你怎么使用

永恒的蓝色梦想 发表于 2020-4-29 22:29:34

else缩进错了,后面的整体向前提8个空格

老八秘制 发表于 2020-4-29 22:32:41

本帖最后由 老八秘制 于 2020-4-29 22:33 编辑

你这个是缩进问题……Python识别的时候发现else前面没有if,当然会报错
P.S.:建议你把文件后缀名打开,不然有的时候可能很麻烦

mhxy199069 发表于 2020-4-29 22:42:02

老八秘制 发表于 2020-4-29 22:32
你这个是缩进问题……Python识别的时候发现else前面没有if,当然会报错
P.S.:建议你把文件后缀名打开,不 ...

while :
    else:
这种写法应该也行吧

mhxy199069 发表于 2020-4-29 22:43:35

file = {}
while 1:
    qt = input("|---请输入指令代码:")
    print("|---新建用户:N/n---|\n|---登录账号:E/e---|\n|---退出程序:Q/q---|\n")
    if qt == "N" or "n":
      ac = input("请输入用户名:")
      while ac in file:
            ac = input("此用户名已经被使用,请重新输入:")
            else:
                password = input("请输入密码:")
                file = password
                print("注册成功,赶紧试试登录吧^-^")

mhxy199069 发表于 2020-4-29 22:44:31

mhxy199069 发表于 2020-4-29 22:43


请大佬指点一下

永恒的蓝色梦想 发表于 2020-4-29 22:46:04

mhxy199069 发表于 2020-4-29 22:42
while :
    else:
这种写法应该也行吧

行的话也得相同缩进,而且这样逻辑不通

mhxy199069 发表于 2020-4-29 22:54:42

永恒的蓝色梦想 发表于 2020-4-29 22:46
行的话也得相同缩进,而且这样逻辑不通

while 判断语句,如果为真则执行下面语句,如果为假则执行else语句,感觉没问题哎

永恒的蓝色梦想 发表于 2020-4-29 22:57:39

mhxy199069 发表于 2020-4-29 22:54
while 判断语句,如果为真则执行下面语句,如果为假则执行else语句,感觉没问题哎

while 是循环,你这里的 else 根本没有意义

mhxy199069 发表于 2020-4-29 23:02:46

永恒的蓝色梦想 发表于 2020-4-29 22:57
while 是循环,你这里的 else 根本没有意义

file = {}
while 1:
    qt = input("|---请输入指令代码:")
    print("|---新建用户:N/n---|\n|---登录账号:E/e---|\n|---退出程序:Q/q---|\n")
    if qt == "N" or "n":
      ac = input("请输入用户名:")
      while ac in file:
            ac = input("此用户名已经被使用,请重新输入:")
            else:
                password = input("请输入密码:")
                file = password
                print("注册成功,赶紧试试登录吧^-^")
                break

更改了一下代码,这样逻辑应该没问题了

永恒的蓝色梦想 发表于 2020-4-29 23:06:18

mhxy199069 发表于 2020-4-29 23:02
更改了一下代码,这样逻辑应该没问题了

改成这样file = {}
while 1:
    qt = input("|---请输入指令代码:")
    print("|---新建用户:N/n---|\n|---登录账号:E/e---|\n|---退出程序:Q/q---|\n")
    if qt == "N" or "n":
      ac = input("请输入用户名:")
      while ac in file:
            ac = input("此用户名已经被使用,请重新输入:")
      password = input("请输入密码:")
      file = password
      print("注册成功,赶紧试试登录吧^-^")

mhxy199069 发表于 2020-4-29 23:08:55

永恒的蓝色梦想 发表于 2020-4-29 23:06
改成这样

file = {"name":"password"}
while 1:
    qt = input("|---请输入指令代码:")
    print("|---新建用户:N/n---|\n|---登录账号:E/e---|\n|---退出程序:Q/q---|\n")
    if qt == "N" or "n":
      ac = input("请输入用户名:")
      while ac in file:
            ac = input("此用户名已经被使用,请重新输入:")
      else:
            password = input("请输入密码:")
            file = password
            print("注册成功,赶紧试试登录吧^-^")
            break


不好意思闹了个大乌龙,真的是缩进问题,忘记了else要和配套使用的那个同行才算配合

老八秘制 发表于 2020-4-30 07:24:04

mhxy199069 发表于 2020-4-29 22:42
while :
    else:
这种写法应该也行吧

不可以的……else不能单独存在,必须和if对齐(其实不仅是if,后面你还会学到别的)
页: [1]
查看完整版本: 零基础学习26讲字典动动手的问题