当前位置: 首页 > article >正文

Python小案例:while练习题

目录

  • while练习题:
    • 1、存款多少年能翻倍
    • 2.小球坠落长度计算
    • 3、猴子吃桃
    • 4、计算:1-2+3-4...+99-100的和

while练习题:

1、存款多少年能翻倍

       1万本金,年利息:0.0325,求连本带息多少年能翻倍

解析:

  1. while循环:求每年的本金和利息一共多少;
  2. 退出循环条件:本金*(1+利息) <= 2 *本金。

代码部分

# 本金
principal = 10000
# 利息
interest = 0.0325
# 翻倍总金额
total = 20000
# 统计所需年数
count = 0

while principal <= total:
    count+=1
    principal *= (1+interest)
   # print(f"第{count}年,连本带息总金额:{principal}")

print(f"需要{count}年才能连本带息翻倍")

运行结果
在这里插入图片描述

2.小球坠落长度计算

       一个小球,从100米高空坠落,每次反弹回原来一半高度,问第10次反弹完,小球经过多少米?

分析:

  • 小球所经历距离 = 小球高度+反弹高度
  • 小球反弹高度 = 小球高度/2

代码部分

# 初始高度
height = 100
# 小球掉落所经历的距离
distance = 0
# 掉落次数
count = 0

while count < 10 :
    # 球所经历过的长度
    distance +=height
    # 球反弹高度
    height /= 2
    # 反弹回所经历的长度
    distance += height
    # 统计次数
    count += 1
    # 打印每次掉落所经历的距离和高度
    print(f'第{count}次,小球所经历的距离:{distance},小球反弹高度{height}')

运行结果
在这里插入图片描述

3、猴子吃桃

       有一堆桃子,猴子每天吃桃子总数的一半并多吃一个。吃了10天,到第11天只剩一个桃子。问:猴子吃之前,一共是多少个桃子?

分析:

  • while控制天数
  • 逆推总数找规律
    • 第11天 1
    • 第10天 (1+1)*2 = 4
    • 第9天 (4+1)*2 = 10
    • 第1天 (sum+1)*2 = sum

代码部分

#花费的总天数
days = 11
# 统计总共桃子数量,以最后一天剩余的数作为统计总数的初始值
sum = 1

while days >= 1 :
    print(f"第{days}天,桃子数量:{sum}")
    # 上一天吃的之前的桃子数量
    sum=(sum+1)*2
    days -= 1

运行结果
在这里插入图片描述

4、计算:1-2+3-4…+99-100的和

解析:
       加的是单数,减去的是偶数,利用%进行判断并计算

代码部分

# 第一种for循环
# sum = 0
# for i in range(1,101):
#     if i%2==1 :
#         sum+=i
#         print(f"单数减法:{sum}+{i}={sum}")
#     else:
#         sum-=i
#         print(f"双数加法:{sum}-{i}={sum}")

# 第二种while循环
sum = 0
count = 1
while count <= 100 :
    if count%2==1:
        sum+=count
        # print(f"单数加法:{sum}+{count}={sum}")
    else:
        sum-=count
        # print(f"双数减法:{sum}-{count}={sum}")
    count+=1

运行结果
在这里插入图片描述


http://www.kler.cn/a/159783.html

相关文章:

  • 〔 MySQL 〕数据类型
  • 自由学习记录(21)
  • win11 新建一个批处理,双击查看本机的IP地址
  • WebAssembly在现代Web开发中的应用
  • 密码学的基本原理
  • TCP/IP协议,TCP和UDP区别
  • css 3D背景反转实现
  • 品牌要随时监测电商价格现实吗
  • uniapp打包iOS应用并通过审核:代码混淆的终极解决方案 ✨
  • pytorch学习6-非线性变换(ReLU和sigmoid)
  • 电力仪表在工厂车间设备电能管理系统的设计-安科瑞黄安南
  • uView ui 1x uniapp 表格table行内容长度不一导致高度不统一而出现的不对齐问题
  • 信息系统安全运维服务资质认证申报流程详解
  • 游戏:火星孤征 - deliver us mars - 美图秀秀~~
  • 【SQLite】SQLite3约束总结
  • 服务器数据恢复—重装系统导致XFS文件系统分区丢失的数据恢复案例
  • bpftrace原理与使用方法
  • Python float(input())的用法,web中的应用
  • 禅道不同系统迁移详解及Linux安装(windows->linux)
  • matplotlib学习
  • service层报错:Invalid bound statement (not found)
  • [头歌系统数据库实验] 实验3 MySQL的DDL语言
  • 推荐一款Excel快速加载SQL的插件,方便又好用
  • python执行命令的方式
  • visionOS空间计算实战开发教程Day 11 标题动画
  • 记录 | linux静态库和动态库的理解