python基础训练 day9

编程入门 行业动态 更新时间:2024-10-05 17:28:49

python<a href=https://www.elefans.com/category/jswz/34/1770030.html style=基础训练 day9"/>

python基础训练 day9

python基础训练 day9

小白打卡第九天,

题目来源

这里,目录

      • python基础训练 day9
        • 第一题(猴子摘桃)
        • 第二题(排座位)
        • 第三题(打印菱形)

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

还是数列问题,给定最后一项,求首项。已知最后一项是a10 = 1,前一项是后一项的2(1+n)。

a10 = 1
a = a10
for i in range(9):a = 2*(a+1)
print(a)

一天摘了1500多个peach也算是个猴材。

# 运行结果
1534
第二题(排座位)
两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。

这是一个排座位的问题,相当于现在有x,y,z三个位置,然后我们把a,b,c三个人安排上去。

# a 不坐x b 无要求 c 不坐x,z
for i in range(ord('a'),ord('c')+1):for k in range(ord('a'),ord('c')+1):for j in range(ord('a'),ord('c')+1):if i != j and i != k and j != k:if i != ord('a') and i != ord('c') and j != ord('c'):print(f'x——{chr(i)},y——{chr(k)},z——{chr(j)}')

循环遍历找出所有可能被安排的情况,然后找出a 不坐x ,b 无要求 ,c 不坐x,z的情况,然后输出。

x——b,y——c,z——a
第三题(打印菱形)
打印出如下图案(菱形):*********
****************

就是循环输出多行数据,每一行的数据实际上符合一个数列。

def fun(r=7, get_str='*'):	# 直接定义一个函数if r % 2 == 0:raise Exception('行数应为奇数')r_up = (r+1)/2for i in range(1, int(r_up)+1):r_str = get_str*(2*i-1)print(r_str.center(r))for j in range(int(r_up)-1, 0, -1):r_str = get_str * (2 * j - 1)print(r_str.center(r))
fun()

输出结果如下:

   *   ***  ***** 
************ ***  *   

甚至还可以变换行,和打印输出的符号

fun(9,'@')

运行结果:

    @    @@@   @@@@@  @@@@@@@ 
@@@@@@@@@@@@@@@@ @@@@@  @@@   @    

小白打卡第九天,顺利结束!

骐骥一跃,不能十步;驽马十驾,功在不舍

更多推荐

python基础训练 day9

本文发布于:2024-02-19 18:55:16,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1765665.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:基础   python

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!