python基础教程100例题: 9&10&11

9、题目:暂停一秒输出。

10、题目:暂停一秒输出,并格式化当前时间。

        9题和10题其实是一样的题目。9题是任意写一个程序,只要输出的时间有停顿就可以。10题是格式化当前时间,暂停一秒,也就是前后输出的时间会有一秒时间差。鉴于两个题是一样的,我们只需要操作第十题,主要涉及到两点:1是使用time的sleep(secs)函数,参数secs就是停顿的时间。2.是格式化时间,需要用time.strftime()函数。 

import time
print(time.strftime("%Y-%m-%d %H:%M:%S",time.localtime()))   
time.sleep(1)    
print(time.strftime("%Y-%m-%d %H:%M:%S",time.localtime()))          
time.localtime()

         python里时间的表达方式有很多。time.time()返回float类型的时间,表示了从1970年1月1日00:00:00开始按秒计算的时间偏移量。同时,也可以以struct_time(元组)的形式展示时间,一共有9个参数,包括年月日时分秒和周几、一年中的第几天以及是否是夏令时。        代码里用到的两个函数:1  time.localtime()可以返回当前时区的时间,同时time.gmtime()可以返回UTC时区的时间;2  time.strftime()可以把struct_time展示的时间格式化。

         同时,时间也可以用datetime来调用。

import datetime
x = datetime.datetime.now()  #输出当前时间,年——月——日  时:分:秒.微秒
print(x)
print(x.year) 
print(x.strftime("%d"))  #strftime里面的参数可以调用时间里的任意一项,如%d代表一个月的第几天
print(datetime.datetime(2021,8,2))

11、题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

        简单分析后可知,兔子每个月的数量应该是1,1,2,3,5,8,11,19…… 也就是说除了前两个月都是1,其他的数字就是它本身的前两个数字之和。写程序时只需要先定义前两个位置为1,其他位置就做循环,每次让它前面两个数字加起来。

sum1 = 1
sum2 = 1
for i in range(1,22):
    print(sum1,sum2,end=" ")   #输出结果按行展示
    sum1 = sum1 + sum2
    sum2 = sum1 + sum2

        可以任意改变i的范围,求前 i 个月每个月兔子的数量。此外,我还定义了一个函数count(month),输入任意的月份都可以出现当月兔子的数量,代码如下:

def count(month):
    if month == 1:
        return 1
    elif month == 2:
        return 1
    else:
        return count(month - 1) + count(month - 2)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值