python 实验八 函数 (上)

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

记者问第99只企鹅:“你每天都做什么?”企鹅说:“吃饭,睡觉,打豆豆!”
记者问第100只企鹅:“你每天都做什么?”企鹅说:“吃饭,睡觉,我就是豆豆!”

(2)在主程序下测试该函数。

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


interview()

输出结果
在这里插入图片描述

2.以下为输出韩国流行歌曲Nobady一段歌词(有修改)的代码,

print(‘I want nobody nobody but you’)
print(‘I want nobody nobody but you’)
print(‘How can i be with another’)
print(“I don’t want any other”)
print(‘I want nobody nobody but you’)
print(‘I want nobody nobody but you’)
print(‘I want nobody nobody but you’)

请将上述代码中的重复部分抽象(定义)成一个函数,并在主程序中调用该函数,以使源代码显得更简洁一些。

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)

输出结果

I want nobody nobody but you
I want nobody nobody but you
How can i be with another
I don't want any other
I want nobody nobody but you
I want nobody nobody but you
I want nobody nobody but you

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

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


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

输出样例

输入一个整数:62
62不是奇数

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

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


print(fun(656))

输出结果

0.8

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

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


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

输出样例

请输入手机号最后一位:5
请输入四位出生年份:2000
16

(2)在主程序中,测试该函数,该函数能正确反映出你的真实年龄吗?如果不能,如何修改计算规则?
不能正确反映,把得到的数加上1770就可以实现

def fun(m, n):
    return ((m * 2 + 5) *
  • 281
    点赞
  • 783
    收藏
    觉得还不错? 一键收藏
  • 36
    评论
评论 36
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值