Python.习题七 函数(上)

Python.<习题七> 函数(上)

1.“吃饭,睡觉,打豆豆”是网络上最为流行的小笑话之一,这则笑话的具体内容如下。
有个记者去南极采访一群企鹅。
他问第一只企鹅:“你每天都做什么?”企鹅说:“吃饭,睡觉,打豆豆!”接着又问第二只企鹅:“你每天都做什么?”企鹅说:“吃饭,睡觉,打豆豆!”接着又问第三只企鹅:“你每天都做什么?”企鹅说:“吃饭,睡觉,打豆豆!”…记者带着困惑问其他的企鹅,答案都一样,就这样一直问了99只企鹅。当走到第100只小企鹅旁边时,记者问他:“你每天都做什么?”那只小企鹅回答:“吃饭,睡觉。”记者惊奇的又问:“你怎么不打豆豆?”小企鹅撇着嘴巴,瞪了记者一眼说:“我就是豆豆!”请编写一个程序,要求如下:
(1)编写一个函数用来描述记者与这100只企鹅对话的全过程,其输出格式为
在这里插入图片描述
(2)在主程序中测试该函数。

def interview():
    for n in range(1, 100):
        print('记者问第{}只企鹅:“你每天都做什么?”企鹅说:“吃饭,睡觉,打豆豆!”'.format(n))
    print('记者问第100只企鹅:“你每天都做什么?”企鹅说:“吃饭,睡觉,我就是豆豆!”')


interview()

在这里插入图片描述
2.以下为输出韩国流行歌曲Nobady一段歌词(有修改)的代码,
在这里插入图片描述
请将上述代码中的重复部分抽象(定义)成一个函数,并在主程序中调用该函数,以使源代码显得更简洁一些。

def nobody(n):
    for i in range(n):
        print('I want nobody nobody but you')


nobody(2)
print('How can i be with another')
print("I don't want any other")
nobody(3)

在这里插入图片描述
3.编写isOdd()函数,该函数应有一个整数参数,如果该参数为奇数,函数返回True,否则返回Flase。最后在主程序中测试该函数。

def isOdd(n):
    return n % 2 != 0


n = int(input('输入一个整数:'))
print(f'{n}是奇数') if isOdd(n) else print(f'{n}不是奇数')

在这里插入图片描述
4.按如图所示的流程进行计算,若开始输入的x的值为正数,最后输出的结果为656,请编程输出符合条件的x的值。在这里插入图片描述

def fun(n):
    while (n - 1) / 5 > 0:
        n = (n - 1) / 5
    return n


print(fun(656))

在这里插入图片描述
5.2016年,微信朋友圈中曾疯传“手机尾号暴露你的年龄”,其算法如下:看一下你手机号的最后一位;把这个数字×2;然后加上5;再×50;把得到的数加上1766;用这个数-你出生的那一年,现在得到一个新的数字,该数的最后两位就是你的实际年龄。(本规则仅适用于年龄在100岁以内的人)。
现在,请解决以下问题:
(1)编写一个函数,该函数有两个参数:一个参数为手机号最后一位;另一个参数为四位数的出生年份该函数最后返回按照上述规则计算出来的年龄。
(2)在主程序中,测试该函数,该函数能正确反映出你的真实年龄吗?如果不能,如何修改计算规则?

def fun(m, n):
    return ((m * 2 + 5) * 50 + 1766 - n) % 100


m = int(input('请输入手机号最后一位:'))
n = int(input('请输入四位出生年份:'))
print(fun(m, n))

在这里插入图片描述
(把1766改为1770)
6.编写一个程序,在主程序中求1900~2020年中所有的闰年,每行输出5个年份。闰年即能被4整除,但不能被100整除,或者能被400整除的年份。要求定义一个函数isLeap(),该函数用来判断某年是否为闰年,是闰年则函数返回True,否则返回Flase。

def isLeapYear(year):
    return year % 400 == 0 or (year 
  • 276
    点赞
  • 435
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 22
    评论
评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zxm1123

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值