为什么n = int()(在def的内部和外部)的位置很重要?

时间:2019-04-21 12:43:15

标签: python python-3.x global-variables

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 个答案:

答案 0 :(得分:0)

因为您多次调用函数Num_to_MorseCode,所以如果n = int()位于函数内部,则每次调用该函数都会重置num,而不是声明在外面。这就是为什么。