python基础练习100打卡-Day05 (021~025)

这篇博客是关于Python基础练习的第五天,包括猴子吃桃问题的逆向思维解法、乒乓球队比赛名单的编程实现、菱形图案的打印、分数序列的求和以及阶乘求和。作者通过分析问题,编写代码并提供了多种解决方案。
摘要由CSDN通过智能技术生成

今天也是学习python的一天✌

打卡练习题:菜鸟100实例

021

题目

猴子吃桃问题:

猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。

分析

已知了时间范围以及第十天剩余桃子量,就采用从后往前推断(逆向思维)的方式。

代码

将数据存入list中,每次取列表最后一位,即当天剩余的桃子个数,计算得出前一天桃子余量,然后重复该操作。

li = [1]
for _ in range(9):
    temp = (li[-1] + 1) * 2
    li.append(temp)
# print(li)
print(f'第一天摘了{
     li[-1]}个')

022

题目

两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。

分析

用a、b、c来表示x、y、z,从而达到对应关系,用for循环排列组合,排除条件:1.题干给的,2.abc互不相等。

代码
代码一:
yi = ['x', 'y', 'z']
for a in yi:
    for b in yi:
        for c in yi:
            if a != b and b != c and a != c \
                    and a != 'x' and c != 'x' and c != 'z':
                print(f'对手关系:a-{
     a}, b-{
     b}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值