|
|
问题原因:
你的代码中有一个无限循环 while True,但循环内部没有 break 或 return 语句来退出循环,导致循环后面的代码(salt = "fsafdafa" 等)永远无法执行。这就是 PyCharm 提示“语句不可到达”的原因。
解决方案:
根据你的需求,有两种常见的修改方式:
方案一:如果你只想让用户输入一次,删除 while True 循环
直接将循环去掉,代码如下:
- import hashlib
- name = input("用户名")
- pwd = input("密码")
- salt = "fsafdafa"
- obj = hashlib.md5(salt.encode("utf-8"))
- obj.update(pwd.encode("utf-8"))
- res = obj.hexdigest()
- print(res)
复制代码
方案二:如果你希望用户能多次输入,需要在循环内处理所有逻辑,并添加退出条件
例如,当用户输入特定的命令(如输入“q”)时退出循环。注意:将盐(salt)和哈希计算放在循环内。
- import hashlib
- while True:
- name = input("用户名(输入 q 退出): ")
- if name == 'q':
- break
- pwd = input("密码: ")
- salt = "fsafdafa"
- obj = hashlib.md5(salt.encode("utf-8"))
- obj.update(pwd.encode("utf-8"))
- res = obj.hexdigest()
- print("加密后的密码:", res)
复制代码
根据你的实际需求选择其中一种方案即可。如果还有疑问,请提供更多上下文信息。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 |
|