我的脚本不起作用,不确定我是否正在进行python

时间:2016-11-16 05:42:54

标签: python user-input

由于某些奇怪的原因,我的代码将无法在笔记本电脑上的Visual Studio中运行。它给我的脚本错误。我做错了吗?

我得到的错误是:

  • 无法分配到errorexpression --line 2
  • 意外缩进 - 第2行
  • 意外的令牌'< dedent>' --line 6
print("welcome user")
varpassword = input("Please enter a password:   ")
if varpassword = "thisisthepassword123":
   print("Welcome")
else:
   print("access denied")

2 个答案:

答案 0 :(得分:2)

正如其他人指出,您的条件语句应该使用==运算符(表示您正在比较这两个值以查看它们是否相等)而不是=指定值变量。

if varpassword = "thisisthepassword123":

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

修改

使用散列算法代替散列密码,然后对用户输入进行散列并进行比较。因此,您可以通过类似SHA1的密码输入密码(如果您想使用类似"thisisthepassword123"的硬编码值,则其值为f61c1bbcf1f7d68106a18bd753d4fc3c4925793f。因此使用类似{的库{1}}(https://docs.python.org/2/library/hashlib.html)你可以这样做:

hashlib

另请考虑使用腌制,请阅读:https://crackstation.net/hashing-security.htm

编辑2:

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

答案 1 :(得分:0)

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