#python #python-3.x #global-variables
#python #python-3.x #глобальные переменные
Вопрос:
n = int()
def Num_to_MorseCode(n):
if n >= 0 and n < 5:
return '*'*n '_'*(5-n)
elif n < 10 and n >= 5:
return '_'*(n-5) '*'*(10-n)
num = input("Enter num: ")
if len(num) == 3:
print(Num_to_MorseCode(int(num[0])), Num_to_MorseCode(int(num[1])), Num_to_MorseCode(int(num[2])))
else:
print('error/num != 3 digit number!')
когда n = int () находится в def, вывод _____ _____ _____ всегда и когда это вне его, это работает так, как я задумал
Комментарии:
1. n= int() эквивалентно n = 0. При размещении внутри функции параметр n сбрасывается. Удалите n = int() полностью, вам это не нужно.
Ответ №1:
Потому что, когда вы вызываете функцию несколько раз, Num_to_MorseCode
если ваша n = int()
функция находится внутри вашей функции, она сбрасывает num
каждый раз, когда вы вызываете функцию, а не если вы объявляете ее снаружи. Вот почему.