jcpython2 发表于 2022-6-1 09:59:02

用for检查符号,不知道错那里

psw = input('检查是否带符号')
fuhao = "~!@#$%^&*()_=-/,.?<>;:[]{}|\\"
for fuhao in psw:
    if fuhao in psw:
      print('带')


我上面这段代码,想用for检查input是否带有指定符号,但是无论输入什么都显示带{:10_277:}   错那里了?

isdkz 发表于 2022-6-1 10:00:45

本帖最后由 isdkz 于 2022-6-1 10:02 编辑

你那里的 fuhao 都是从 psm 里迭代出来的,肯定在 psm 里面了

对你的代码修改如下:
psw = input('检查是否带符号')
fuhao = "~!@#$%^&*()_=-/,.?<>;:[]{}|\"
for i in psw:                  # 改了这里
    if i in fuhao:                # 改了这里
      print('带')

jcpython2 发表于 2022-6-1 10:10:01

isdkz 发表于 2022-6-1 10:00
你那里的 fuhao 都是从 psm 里迭代出来的,肯定在 psm 里面了

对你的代码修改如下:

for fuhao in psw:
这段是错误使用方法,把psw放到fuhao里面了

而for i
就是各自从 psw 和fuhao循环各抽取一个字符串来对比,有了i这个中间商才正确


老哥我的理解对吗?有点迷糊

isdkz 发表于 2022-6-1 10:25:37

for fuhao in psw 是从 psw 这个字符串中取出每个字符,并赋值给 fuhao,

不用一个别的变量名的话会把原本的 fuhao 给覆盖掉,

你那里的 fuhao 原本就是从 psw 中取出来的,

if fuhao in psw 当然成立了
页: [1]
查看完整版本: 用for检查符号,不知道错那里