2016-12-13 2 views
0

Просто небольшой проект, над которым я работаю, чтобы улучшить свои знания. Любопытно, почему программа всегда возвращает сбой, даже если captcha правильно введен. Я предполагаю, что это имеет какое-то отношение к тому, что результаты не сохраняются в памяти?captcha программа всегда возвращается с ошибкой

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

results = print(captcha_gen())

print() возвращает None - он используется для печати вещи на экране. В этом случае он захватывает вывод captcha_gen() и печатает его на экране.

Все функции в Python вернуть что-то - если они не уточняют, что они возвращаются, то это неявное None

Вы хотите

results = captcha_gen()

Смежные вопросы