问:

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

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

PS:

  1. Monday 周一
  2. Tuesday 周二
  3. Wednesday 周三
  4. Thursday 周四
  5. Friday 周五
  6. Saturday 周六
  7. Sunday 周日

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

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

答:

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

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

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

  1. 每个 python 模块都包含内置的变量 __name__
  2. 1)当 python 模块被直接执行时,__name__ 等于"__main__"
  3. 2)当作为 module import 到其他 python 文件时,则 __name__ 等于模块名称(不包含后缀.py),

  4. 因此:
    1)当模块被直接执行时,__name__ == 'main'返回结果为 True
  5. 2)当作为 module import 时,__name__ == 'main'返回结果为 False

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

方法1:

  1. letter = input("please input:")
  2.  
  3. if letter == "S":
  4. letter = input("please input second letter:")
  5. if letter == "a":
  6. print("Saturday")
  7. elif letter == "u":
  8. print("Sunday")
  9. else:
  10. print("data error")
  11.  
  12. elif letter == "F":
  13. print("Friday")
  14. elif letter == "M":
  15. print("Monday")
  16. elif letter == "T":
  17. letter = input("please input second letter:")
  18. if letter == "u":
  19. print("Tuesday")
  20. elif letter == "h":
  21. print("Thursday")
  22. else:
  23. print("data error")
  24. elif letter == "W":
  25. print("Wednesday")
  26. else:
  27. print("data error")

方法2:

  1. str = input("请输入第一个字符:\n")
  2.  
  3. if str is "m" or str is "M":
  4. print("Monday")
  5. elif str is "t" or str is "T":
  6. str1 = input("请输入第二个字符:\n")
  7. if str1 is "u" or str is "U":
  8. print("Tuesday")
  9. elif str1 is "h" or str is "H":
  10. print("Thursday")
  11. elif str is "w" or str is "W":
  12. print("Wednesday")
  13. elif str is "f" or str is "F":
  14. print("Friday")
  15. elif str is "s" or str is "S":
  16. str2 = input("请输入第二个字符:\n")
  17. if str2 is "a" or str is "A":
  18. print("Saturday")
  19. elif str2 is "u" or str is "U":
  20. print("Sunday")

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

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

方法1:

  1. def PPDI():
  2. for i in range(100,1000):
  3. if i == (i // 100)**3 + (i % 100 // 10)**3 + (i% 100 %10)**3:
  4. print(i)
  5.  
  6. PPDI()

方法2:

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

方法3:

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

方法4:

  1. def waters():
  2. for i in range(100, 1000):
  3. num = i
  4. result = []
  5. while i > 0:
  6. result.append((i % 10) ** 3)
  7. i = i // 10
  8.  
  9. if num == sum(result):
  10. print(num, end=" ")
  11.  
  12. if __name__ == "__main__":
  13. waters()

输出结果:

  1. 153
  2. 370
  3. 371
  4. 407

Python【每日一问】24的更多相关文章

  1. [python每日一练]--0012:敏感词过滤 type2

    题目链接:https://github.com/Show-Me-the-Code/show-me-the-code代码github链接:https://github.com/wjsaya/python ...

  2. Python每日一练(1):计算文件夹内各个文章中出现次数最多的单词

    #coding:utf-8 import os,re path = 'test' files = os.listdir(path) def count_word(words): dic = {} ma ...

  3. python每日一函数 - divmod数字处理函数

    python每日一函数 - divmod数字处理函数 divmod(a,b)函数 中文说明: divmod(a,b)方法返回的是a//b(除法取整)以及a对b的余数 返回结果类型为tuple 参数: ...

  4. python socket.error: [Errno 24] Too many open files

    以openwrt AR9331开发板为例,socket连接到1019个就报错 “python socket.error: [Errno 24] Too many open files” 1.查看开发板 ...

  5. 每日一问:Android 消息机制,我有必要再讲一次!

    坚持原创日更,短平快的 Android 进阶系列,敬请直接在微信公众号搜索:nanchen,直接关注并设为星标,精彩不容错过. 我 17 年的 面试系列,曾写过一篇名为:Android 面试(五):探 ...

  6. 每日一问:谈谈 volatile 关键字

    这是 wanAndroid 每日一问中的一道题,下面我们来尝试解答一下. 讲讲并发专题 volatile,synchronize,CAS,happens before, lost wake up 为了 ...

  7. 每日一问:讲讲 Java 虚拟机的垃圾回收

    昨天我们用比较精简的文字讲了 Java 虚拟机结构,没看过的可以直接从这里查看: 每日一问:你了解 Java 虚拟机结构么? 今天我们必须来看看 Java 虚拟机的垃圾回收算法是怎样的.不过在开始之前 ...

  8. 每日一问:你了解 Java 虚拟机结构么?

    对于从事 C/C++ 程序员开发的小伙伴来说,在内存管理领域非常头疼,因为他们总是需要对每一个 new 操作去写配对的 delete/free 代码.而对于我们 Android 乃至 Java 程序员 ...

  9. 每日一问:LayoutParams 你知道多少?

    前面的文章中着重讲解了 View 的测量流程.其中我提到了一句非常重要的话:View 的测量匡高是由父控件的 MeasureSpec 和 View 自身的 `LayoutParams 共同决定的.我们 ...

  10. 每日一问:简述 View 的绘制流程

    Android 开发中经常需要用一些自定义 View 去满足产品和设计的脑洞,所以 View 的绘制流程至关重要.网上目前有非常多这方面的资料,但最好的方式还是直接跟着源码进行解读,每日一问系列一直追 ...

随机推荐

  1. java包装类和值类型的关系

    java包装类总是让人疑惑 它与值类型到底是怎么样一种关系? 本文将以int和Integer为例来探讨它们的关系 java值类型有int short char boolean byte long fl ...

  2. Eureka2.0集群环境

    当有2个eureka注册中心构建eureka注册中心集群时,1:微服务的注册中心地址要写2个eureka注册中心的地址,以逗号分隔2:其中1个eureka注册中心A保留有微服务的注册信息,作为主注册中 ...

  3. uni-app采坑记录

    1. uni-app采坑记录 1.1. 前言 这里记录下uni-app实践中踩的坑 1.2. 坑点 1.2.1. 触发事件@longTap和@longpress 这两个都表示长按触发事件,那么这两个有 ...

  4. vue展示md文件,前端读取展示markdown文件

    方案1:每次都需要重新打包,每次修改都需要build 直接使用require + v-html: 核心代码如下: 1. 首先需要添加MD文件的loader就是 markdown-loader npm ...

  5. Atlassian JIRA服务器模板注入漏洞复现(CVE-2019-11581)

    0x00 漏洞描述 Atlassian Jira是澳大利亚Atlassian公司的一套缺陷跟踪管理系统.该系统主要用于对工作中各类问题.缺陷进行跟踪管理. Atlassian Jira Server和 ...

  6. 结对编程(Python实现)

    一.Github地址:https://github.com/nullcjm/mypage 项目搭档:3117004662梁子豪 3117004648陈俊铭 二.PSP表格: PSP2.1 Person ...

  7. Django学习之十四:Django ORM继承关系

    目录 Django ORM继承关系 1. SINGLE_TABLE(django好像不支持) 2. TABLE_PER_CLASS 3. JOINED 4. 代理继承 Django ORM继承关系 参 ...

  8. c语言基础之getopt()

    getopt() #include <unistd.h> int getopt(int argc, char * const argv[], const char *optstring); ...

  9. Alipay支付宝支付 报错 invalid [default store dir]: /tmp/

    1.如果使用支付宝sdk,首先lotusphp_runtime 文件也要一起使用  支付宝现在的php sdk中有lotus框架可以和aop文件. 2.保证AopSdk.php文件中的方法可以走到这个 ...

  10. https工具类

    import org.apache.commons.lang.StringUtils; import javax.net.ssl.*; import java.io.*; import java.ne ...