我的脚本不会工作,不确定我是否在做python righ

2024-10-01 07:48:52 发布

您现在位置:Python中文网/ 问答频道 /正文

由于一些奇怪的原因,我的代码在我的笔记本电脑上的visualstudio中无法工作。它给我的脚本错误。我做错了吗?你知道吗

我犯的错误是:

  • 无法分配给errorexpression--第2行
  • 意外缩进--第2行
  • 意外标记“<;dedent>;”——第6行
print("welcome user")
varpassword = input("Please enter a password:   ")
if varpassword = "thisisthepassword123":
   print("Welcome")
else:
   print("access denied")

Tags: 代码标记ltgt脚本错误原因笔记本电脑
2条回答

正如其他人指出的那样,您的条件语句应该使用==运算符(表示您正在比较两个值,看它们是否相等),而不是将值赋给变量的=。你知道吗

if varpassword = "thisisthepassword123":

我只想补充一点,您应该避免使用硬编码的密码值,特别是在python中,因为它是纯文本(除非这只是示例代码)

编辑:

使用散列算法来散列密码,然后散列用户输入并进行比较。因此,您将通过SHA1之类的内容输入密码(如果您想使用像"thisisthepassword123"这样的硬编码值,它的值将为f61c1bbcf1f7d68106a18bd753d4fc3c4925793f)。因此,使用像hashlibhttps://docs.python.org/2/library/hashlib.html)这样的库可以做到:

import hashlib
hashlib.sha1(userinput).hexdigest()

也可以考虑使用盐渍,阅读以下内容:https://crackstation.net/hashing-security.htm

编辑2:

还要确保脚本中的缩进与代码段的缩进相匹配

请添加==以比较=用于分配

相关问题 更多 >