• Python【每日一问】24


    问:

    【基础题1】: 请解释一下 if __name__ == '__main__' :的作用

    【基础题2】:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。

    PS:

    Monday        周一    
    Tuesday       周二    
    Wednesday     周三    
    Thursday      周四    
    Friday        周五    
    Saturday      周六    
    Sunday        周日   

    【提高题】:打印出所有的“水仙花数”

    PS:所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如: 153 是一个“水仙花数” ,因为 153=1 的三次方+5 的三次方+3 的三次方

    答:

    【基础题1】: 请解释一下 if __name__ == '__main__' :的作用

    一个python文件有两种使用情况:
    
    (1)直接作为脚本执行
    (2)作为module被 import 到其他的 python 脚本中调用执行
    
    if __name__ == 'main': 的作用:当.py文件被直接运行时,if __name__ == '__main__'之下的代码块将被运行;当.py文件以模块形式被导入时,if __name__ == '__main__'之下的代码块不被运行。

     if __name__ == '__main__' :起作用的原理:

    每个 python 模块都包含内置的变量 __name__,
    (1)当 python 模块被直接执行时,__name__ 等于"__main__";
    (2)当作为 module 被 import 到其他 python 文件时,则 __name__ 等于模块名称(不包含后缀.py),
    
    因此:
    (1)当模块被直接执行时,__name__ == 'main'返回结果为 True (2)当作为 module 被 import 时,__name__ == 'main'返回结果为 False

    【基础题2】:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。

     方法1:

    letter = input("please input:")
    
    if letter == "S":
        letter = input("please input second letter:")
        if letter == "a":
            print("Saturday")
        elif letter == "u":
            print("Sunday")
        else:
            print("data error")
    
    elif letter == "F":
        print("Friday")
    elif letter == "M":
        print("Monday")
    elif letter == "T":
        letter = input("please input second letter:")
        if letter == "u":
            print("Tuesday")
        elif letter == "h":
            print("Thursday")
        else:
            print("data error")
    elif letter == "W":
        print("Wednesday")
    else:
        print("data error")

    方法2:

    str = input("请输入第一个字符:
    ")
    
    if str is "m" or str is "M":
        print("Monday")
    elif str is "t" or str is "T":
        str1 = input("请输入第二个字符:
    ")
        if str1 is "u" or str is "U":
            print("Tuesday")
        elif str1 is "h" or str is "H":
            print("Thursday")
    elif str is "w" or str is "W":
        print("Wednesday")
    elif str is "f" or str is "F":
        print("Friday")
    elif str is "s" or str is "S":
        str2 = input("请输入第二个字符:
    ")
        if str2 is "a" or str is "A":
            print("Saturday")
        elif str2 is "u" or str is "U":
            print("Sunday")

    【提高题】:打印出所有的“水仙花数” 

    PS:所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如: 153 是一个“水仙花数” ,因为 153=1 的三次方+5 的三次方+3 的三次方

    方法1:

    def PPDI():
        for i in range(100,1000):
            if i == (i // 100)**3 + (i % 100 // 10)**3 + (i% 100 %10)**3:
                print(i)
    
    PPDI()

    方法2:

    for firstNumber in range(1, 10):
        for secondNumber in range(10):
            for thirdNumber in range(10):
                number = firstNumber*100 + secondNumber*10 + thirdNumber
                if firstNumber**3 + secondNumber**3 + thirdNumber**3 == number:
                    print(number)

    方法3:

    for i in range(100, 1000):
        a = int(str(i)[0])
        b = int(str(i)[1])
        c = int(str(i)[2])
        if a ** 3 + b ** 3 + c ** 3 == i:
            print(i)

    方法4:

    def waters():
        for i in range(100, 1000):
            num = i
            result = []
            while i > 0:
                result.append((i % 10) ** 3)
                i = i // 10
    
            if num == sum(result):
                print(num, end=" ")
    
    
    if __name__ == "__main__":
        waters()

    输出结果:

    153
    370
    371
    407
  • 相关阅读:
    k8s学习笔记之五:Pod资源清单spec字段常用字段及含义
    k8s学习笔记之四:资源清单定义入门
    k8s学习笔记之三:k8s快速入门
    k8s学习笔记之一:kubernetes简介
    k8s学习笔记之二:使用kubeadm安装k8s集群
    centos7安装elasticsearch6.3.x集群并破解安装x-pack
    Centos6搭建sftp服务器
    底层互害模式,深契民心
    你不视我为子女,我凭什么视你为父母
    nodejs的桌面应用(electron)
  • 原文地址:https://www.cnblogs.com/ElegantSmile/p/10855189.html
Copyright © 2020-2023  润新知