Проблема с моей программой о поиске факторов - PullRequest
0 голосов
/ 12 июня 2019

Это было продолжение моего старого вопроса. Программа работала нормально без

в то время как True: главный() if input («Попробуйте еще раз? (Да / Нет)»). strip (). upper () == «Нет»: перерыв

но когда я его добавил, проблема поднялась

Я пытался запустить программу, спрашивая у пользователя номер и он показывает коэффициент, затем я зацикливаю его и спрашиваю пользователя, хочет ли он другой номер, и он повторяется, если пользователь хочет повторить его

def main():

 def print_factors(x):
    print("The factors of",x,"are:")
    for i in range(1, x + 1):
    if x % i == 0:
        print(i)


try:
    num = int(input("Enter a number: "))
    print_factors(num)
except ValueError:
    print("Sorry, I didn't understand that.");

while True:
    main()
    if input("Try Again? (Yes/No)").strip().upper() == 'No':
    break


line 12, in <module>
    print_factors(num)
NameError: name 'print_factors' is not defined

при запуске программы это был конечный результат

1 Ответ

0 голосов
/ 12 июня 2019

Вы определили print_factors внутри main (), то есть это не функция, доступная для глобальной области видимости

Дайте main () тело и unintedent print_factors (), и это должно решить ваши проблемы

...