【知识梳理】

 【典例分析】

【例题31】

题目:计算每个月的天数

心得:calender.monthrange(year,month)=(weekday number,total days)

1 # author by : www.runoob.com
2  
3 import calendar
4 monthRange = calendar.monthrange(2019,10)
5 print(monthRange)
【例题31 代码】

 

 

 【例题32】

题目:获取昨天的日期

心得:datetime模块的几种用法

 1 # author by : www.runoob.com
 2  
 3 # 引入 datetime 模块
 4 import datetime
 5 def getYesterday(): 
 6     today=datetime.date.today() 
 7     print(today)
 8     oneday=datetime.timedelta(days=1)
 9     print(oneday)
10     yesterday=today-oneday  
11     return yesterday
12  
13 # 输出
14 print(getYesterday())
【例题32代码】

 

 

 

 【例题33】

题目:list操作大全

心得:高级操作马了马了

 

【例题34】

题目:30 个人在一条船上,超载,需要 15 人下船。于是人们排成一队,排队的位置即为他们的编号。报数,从 1 开始,数到 9 的人下船。如此循环,直到船上仅剩 15 人为止,问都有哪些编号的人下船了呢?

心得:我不会写难道还不会读吗!3!思路就是31人每人开局一条命循环游戏,除了三种特殊情况(如果是队尾就从头来,如果够15人停止,如果没命就下一个人报数)之外,正常报数,如果报到9就扣一条命,否则下一个人报数。

 1 #定义字典
 2 people={}
 3 #初始化给每人编号,并设置默认值(可以视作命数)为1
 4 for x in range(1,31):
 5     people[x]=1
 6 #打印出来看下效果
 7 print(people)
 8 #报数初始化
 9 check=0
10 #人员编号
11 i=1
12 #下船人数
13 j=0
14 #31人大循环,先讨论三种特殊情况
15 while i<=31:
16     #第一种是到最后一个人的话
17     if i == 31:
18         #重头循环
19         i=1
20     #第二种是剩余15人停止循环
21     elif j == 15:
22         break
23     #第三种是遇到不幸报9命数为0已经下船的娃儿的编号
24     elif people[i] == 0:  
25          #就把他跳过去
26          i+=1
27          #因为他已经下船了不能参与报数
28          continue
29     #非以上三种情况,说明还有命继续玩,正常参与报数
30     else:
31             #报数+1
32             check+=1
33             #如果报到了9!
34             if check == 9:
35                 #可怜的娃你没命了下船吧
36                 people[i]=0
37                 #重新开始报数
38                 check = 0
39                 #并且公开处刑刚才下船的人
40                 print("{}\t号下船了".format(i))
41                 #而且下船人数+1
42                 j+=1
43             #如果没报到9
44             else:
45                 #算你走运
46                 i+=1
47                 #下一个人继续报
48                 continue
【例题34代码】

 

 

【例题35】

题目:使用 time 模块来实现秒表功能

心得:以后函数调用的心得就写在注释里啦

 1 #time模块 
 2 import time
 3 
 4 print('按下回车开始计时,按下 Ctrl + C 停止计时。')
 5 while True:
 6     try:
 7         input() # 如果是 python 2.x 版本请使用 raw_input() 
 8         starttime = time.time()
 9         print('开始')
10         while True:
11             #round(数字,圆整到第几位)
12             print('计时: ', round(time.time() - starttime, 0), '', end="\r")
13             #隔一秒打印
14             time.sleep(1)
15     #异常语句,后面会学
16     except KeyboardInterrupt:
17         print('结束')
18         endtime = time.time()
19         print('总共的时间为:', round(endtime - starttime, 2),'secs')
20         break
【例题35代码】

 

【例题36】

题目:计算n各自然数的立方和,略。