• python每日一练(7)


     

    🌈write in front🌈
    🧸大家好,我是Aileen🧸.希望你看完之后,能对你有所帮助,不足请指正!共同学习交流.
    🆔本文由Aileen_0v0🧸 原创 CSDN首发🐒 如需转载还请通知⚠️
    📝个人主页:Aileen_0v0🧸—CSDN博客
    🎁欢迎各位→点赞👍 + 收藏⭐️ + 留言📝​
    📣系列专栏:Aileen_0v0🧸的PYTHON学习系列专栏——CSDN博客
    🗼我的格言:"没有罗马,那就自己创造罗马~" 

     

    目录

    (1) 统计字符🍄

    (2)落体反弹问题🌽

    (3)猴子吃桃问题🍑

    tip1:递归

    ​编辑 tip2:循环

    (4) 求指定数列的和🍅

    分享我最近的精神状态

    自创表情包

    使用它的背后故事


    (1) 统计字符🍄


    输入一行字符,分别统计出其中英文字母空格、数字和其它字符的个数

    1. # (1)统计字符
    2. # 输入一行字符,分别统计出其中英文字母空格、数字和其它字符的个数
    3. string = input ("请输入字符串")
    4. char = 0
    5. number = 0
    6. space = 0
    7. other = 0
    8. for i in string:
    9. #调用isalpha方法进行计数
    10. if i.isalpha():
    11. char += 1
    12. #调用isdigit方法进行计数
    13. elif i.isdigit():
    14. number += 1
    15. #调用isspace方法进行计数
    16. elif i.isspace():
    17. space += 1
    18. else:
    19. other += 1
    20. print(f"英文字符有{char}个,数字有{number}个,空格有{space}个,其他字符有{other}个.")

    (2)落体反弹问题🌽


    每次落地后反一球从100米高度自由落下,跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米? 第10次反弹多高?

     通过分析小球的运动轨迹,我们可以看到,第一次小球落下的高度是100m

    后面都是前一次的高度的一半进行来回弹跳

    1. # 落体反弹问题
    2. # 每次落地后反一球从100米高度自由落下,跳回原高度的一半;
    3. # 再落下,求它在第10次落地时,共经过多少米?
    4. # 第10次反弹多高?
    5. #初始高度
    6. high = 100
    7. #初始弹跳次数
    8. count = 0
    9. #创建一个空列表 a 装每一次的来回路程
    10. a = []
    11. #利用for循环让它来回跳跃10次--从0-9一共10次
    12. for count in range(0,10):
    13. #根据来回示弹跳的情况进行分情况讨论
    14. #第一次只有降落,所以小球运动高度为100
    15. if count == 0:
    16. high = 100
    17. a.append(high)
    18. count += 1
    19. else:
    20. #第二次及后面都是前一次运动高度的一半,并且小球来回弹跳2次
    21. high /= 2
    22. a.append(2*high)
    23. #打印出每一次小球运动的高度
    24. print(a)
    25. # 它在第10次落地时,共经过多少米?--我们可以利用sum函数进行求和
    26. print(sum(a))
    27. # 第10次反弹高度---是第十次来回的一半 通过下标访问列表第十个元素
    28. print( a[9]/2 )

     

     

    在Python中,使用()和[]有不同的含义。

    ()通常表示函数的调用或者元组的创建,例如:

    1. result = my_function() # 调用函数
    2. my_tuple = (1, 2, 3) # 创建元组

    []通常表示列表的创建或者通过索引获取列表中的元素,例如:

    1. my_list = [1, 2, 3] # 创建列表
    2. my_element = my_list[0] # 获取列表中第一个元素

    在Python中,元组是不可变的,而列表可以改变。因此,如果需要创建一个不可变的元素集合,应该使用()来创建元组。如果需要创建一个可变的元素集合,应该使用[]来创建列表。

    (3)猴子吃桃问题🍑

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

    第十天剩下1个桃子,我们可以先假设第九天有p个,第十天表示为a = 1,根据规律,我们可以知道,猴子每天吃掉前一天桃子数量的一半多1个,所以第十天可以表示为(p/2)-1=1,我们可以反推出第九天p = (1+1)*2=4个,即p = (a+1)*2,这就是前一天(n)和后一天(n+1)的桃子数量关系,

    写成函数表示就是: f (n) = (f (n + 1) + 1) * 2

    tip1:递归

    1. #递归
    2. def fun(n):# n 为天数
    3. if n == 10: #结束条件
    4. return 1
    5. else:
    6. return (fun(n+1)+1)*2 # 递推公式
    7. print(fun(1))

     tip2:循环

    1. #循环
    2. a = 1
    3. for x in range(1,11):
    4. print("第",11-x,"天剩",a,"个桃子")
    5. a = (a + 1) * 2

    (4) 求指定数列的和🍅


    有一分数序列: 2/1,3/2,5/3,8/5,13/821/13...求出这个数列的前20项之和。

    1. # 求指定数列的和
    2. # 有一分数序列: 2/1,3/2,5/3,8/5,13/821/13...
    3. # 求出这个数列的前20项之和。
    4. sum = 0
    5. up = 2
    6. down = 1
    7. for i in range(20):
    8. sum += up / down
    9. #用一个变量 a 储存原来的变量down
    10. a = down
    11. # 将原来的 up 赋值给 down --- 就是现在的 down
    12. down = up
    13. #将原来的 up(即现在的down)和原来的 down 相加 --- 得到现在的up
    14. up = down + a
    15. print("这个数列前29项的和为%.2f" %sum)

     

    之前做题有总结过保留小数位的方法,保留两位小数 --- > "%.2f"  %sum

    若有遗忘可以跳转到👉:🔗http://t.csdnimg.cn/XdF0c

    分享我最近的精神状态

    自创表情包

    使用它的背后故事

    就是本周的精神状态以及日常摸鱼状态啦~

     

  • 相关阅读:
    你真的了解IP地址吗?
    flutter笔记:骨架化加载器
    Mysql - 字符串截取、拆分
    【3dmax】怎么将点删除而面保留
    Java代码基础算法练习---2024.3.14
    移动硬盘频繁断开连接怎么办?
    【MongoDB】集群搭建实战 | 副本集 Replica-Set | 分片集群 Shard-Cluster | 安全认证
    Beego框架学习
    枚举类 typede fmalloc 函数   free 函数 位运算
    【论文阅读|深读】DNGR:Deep Neural Networks for Learning Graph Representations
  • 原文地址:https://blog.csdn.net/Aileenvov/article/details/133813319