请问一下这个python代码到底是哪里出了问题?

新手上路,请多包涵

尝试写了一个关于密码的题目,然后就一直报错invalid syntax

'''
1.输入密码
2.密码输错提醒输错次数
3.输错3次后不能输
4.输错后可修改密码
'''

password_list = [*#*#,1234]
password = input ("请输入密码:")
count = 1
while (count <= 3):
    
    if (password == password_list[-1]):
        print ("恭喜您输入密码成功")
        break
    else:
        print ("抱歉您已输错密码",count,"次了")
        choice = input ("请问您要重置密码吗?(Y/N)")
        if (choice == "Y"):
            new_password = input("请输入新的四位密码:")
            password_list.append(new_password)
    count += 1
    password = input ("请输入密码:")
print ("您已输错密码三次请稍后再输")

报错信息是:invalid syntax (<unknown>, line 9)pylint(syntax-error)

在网上搜索了不少这类报错的原因:
报错invalid syntax原因1
报错invalid syntax原因2

了解到报错invalid syntax的原因基本上是语法问题,所以尝试调整了一下,比如说重新输入,或者在正确的代码中复制黏贴,都没能解决;之后还直接将问题句给注释掉,尝试运行,结果就变成count = 1这句出现同样问题。

已经卡了快一天了,感觉浑身难受,麻烦各位大佬帮忙看看,救救孩子

阅读 9.1k
2 个回答

报错信息说的很明显了:invalid syntax (<unknown>, line 9)pylint(syntax-error)
翻译过来就是在password_list = [*#*#,1234]这里产生了语法错误。
password_list = [*#*#,1234]会被解释器认作password_list = [*,因为#这个字符在python是单行注释的标识符。

改为password_list = ["*#*#,1234"]就没问题了。

另外最后一句可以改为

    if count >= 3:
        print("您已输错密码三次请稍后再输")

可以解决输入正确之后仍然打印输错密码三次这句的问题。

password_list = [*#*#,1234]

这句话的语法对么?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进