当我在其中使用带有生成器的代码时-cmd冻结

问题描述 投票:0回答:1

我正在尝试对pin验证器进行编码,即使pin仅包含4个数字且不包含字母(其必须仅包含4个数字且不包含字母),结果始终为“ False”。

def numbergenerator():
    number=999
    while number<9999:
        number+=1   
        yield number

def validate_pin(pin):
    true="True"
    false="False"
    if str(pin) in numbergenerator():
        return true
    else:
        return false
print(validate_pin(1234))
python generator
1个回答
0
投票

如@yarnabrina所建议。您可以这样做:

def validate_pin(pin):
    return pin in range(1000, 10000)

代码的问题是,您实际上是使用str(pin)将引脚转换为字符串,然后检查它是否在范围或Integer数字范围内。

© www.soinside.com 2019 - 2024. All rights reserved.