colbert6 发表于 2020-5-6 21:53:55

求助:if __name__ == '__main__':

关于:
if __name__ == '__main__':这段不是很理解
写入代码1
def is_palindrome(num):
    """判断一个数是不是回文数"""
    temp = num
    total = 0
    while temp > 0:
      total = total * 10 + temp % 10
      temp //= 10
    return total == num
print(__name__)
写入代码2
def is_prime(num):
    """判断一个数是不是素数"""
    for factor in range(2, int(num ** 0.5) + 1):
      if num % factor == 0:
            return False
    return True if num != 1 else False
写入代码3
if __name__ == '__main__':
    num = int(input('请输入正整数: '))
    if is_palindrome(num) and is_prime(num):
      print('%d是回文素数' % num)
但是在执行代码3的时候,报错name 'is_palindrome' is not defined
请问,这个是怎么回事

永恒的蓝色梦想 发表于 2020-5-6 21:56:39

?三段代码分开写的?

Pythonnewers 发表于 2020-5-6 23:25:46

不理解可以不用,其实也没有什么问题。。。
似乎是在别的文件调用这个文件的时候就不执行if main里面的东西,只执行函数

colbert6 发表于 2020-5-7 09:52:34

永恒的蓝色梦想 发表于 2020-5-6 21:56
?三段代码分开写的?

是的,分开写的

永恒的蓝色梦想 发表于 2020-5-7 10:21:24

colbert6 发表于 2020-5-7 09:52
是的,分开写的

合到一个文件里
页: [1]
查看完整版本: 求助:if __name__ == '__main__':