验证码程序总是返回失败

时间:2016-12-13 20:07:35

标签: python python-3.x

我正在努力提高自己的知识。 很好奇为什么程序总是返回失败,即使正确输入了验证码。我认为它与未存储在内存中的结果有关?

import string
import random

def captcha_gen(size=7, chars=string.ascii_letters + string.digits):
    return ''.join(random.SystemRandom().choice(chars) for _ in range(size))

results = print(captcha_gen())

user_input = input("Please enter the captcha code as you see it: ")

if user_input == results:
    print("success")

elif user_input != results:
    print("failure")

else:
    print("error")

谢谢!

1 个答案:

答案 0 :(得分:1)

results = print(captcha_gen())

print()返回None - 用于将内容打印到屏幕上。在这种情况下,它抓取captcha_gen()的输出并将其打印到屏幕上。

Python中的所有函数都会返回一些东西 - 如果它们没有指定它们返回的内容,那么它就是一个隐含的None

你想要

results = captcha_gen()