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中时,输出始终是_____ _____ _____,并且当它在其外部时按我的预期工作
答案 0 :(得分:0)
因为您多次调用函数Num_to_MorseCode
,所以如果n = int()
位于函数内部,则每次调用该函数都会重置num
,而不是声明在外面。这就是为什么。