python方法调用的循环练习

1、小芳的妈妈每天给她2.5元钱,她都会存起来,但是,
每当这一天是存钱的第5天或者5的倍数的话,她都会花
去6元钱,请问,经过多少天,小芳才可以存到100元钱。

def sumsave():
    #初始化现有数据
    save=2.5#每天存2.5元
    day=0#天数从0开始
    sumsave=0#总存款哦0开始
    while True:#无限循环
        sumsave+=save
        day+=1
        if day%5==0:#每当第五天或第五天的倍数就消费6元
            sumsave-=6
        if sumsave>=100:
            print("经过%d天,小芳存到了%f元钱"%(day,sumsave))#可以配合直接调用
            break            
sumsave()#调用这个方法

在这里插入图片描述
或者:

save=2.5#每天存2.5元
day=0#天数从0开始
sumsave=0#总存款哦0开始
while sumsave<=100:#等于100时停止循环
        sumsave+=save
        day+=1
        if day%5==0:#每当第五天或第五天的倍数就消费6元
            sumsave-=6
	print("经过%d天才能存够%d元钱"%(day,sumsave))

在这里插入图片描述

2、我国最高山峰是珠穆朗玛峰:8848m,
我现在有一张足够大的纸张,厚度为:0.01m。请问,
我折叠多少次,就可以保证厚度不低于珠穆朗玛峰的高度?

def zhuFeng():
    n=0   #折叠次数
    a=0.01     #厚度
    while a<=8848:
        a*=2
        n+=1
    else:
        return n
c=zhuFeng()      
print(c)

在这里插入图片描述
3、猜数字游戏1-100.

import random
def caishuzi():
    a=random.randint(1,100)
    while True:
        b=int(input("请输入数字"))
        if b>a:
            print("你输入的数字太高了")
        elif b<a:
            print("你输入的数字太低了")
        else :
            print("你猜对了")
            break
caishuzi()

在这里插入图片描述

在这里插入图片描述
设计一个函数,包含资金amout,rate(利率),time(时间)年,
输入参数后反馈每年的资金总额,利率是5%。

def i(amout,rate,time):
    amout=amout*(1+rate)**time
    return amout
print(i(1000,0.05,1))
print(i(1000,0.05,2))
print(i(1000,0.05,3))

在这里插入图片描述
1.定义Vehicles(交通工具类),要求如下:
(1)实例变量:name(品牌)、color(颜色)、weight(重量)、plate(车牌号码);
(2)一个返回所有属性信息的方法getDetails();
定义类Car,继承类Vehicles,其中:
(1)成员变量:seats(座位数),speed(速度);
(2)对seats的get和set方法;
(3)覆盖父类中的getDetails()方法,返回所有域的信息;
(4)对speed的speedUp()和slowDown()方法,通过方法的参数修改speed的值。
其中,最高时速不超过200,最低时速不低于0,在方法中实现对速度的合法性检查;
测试:
定义两个Car类型的对象,分别调用getDetails()方法返回这两个对象的信息,
调用speedUp()和slowDown()方法改变Car对象的速度。


class  Vehicles():
    def __init__(self,name,color,weight,plate):
        self.name = name
        self.color = color
        self.weight = weight
        self.plate = plate
    def getDetails(self):
        print("汽车的特征:",self.name,self.color,self.weight,self.plate)
        # return 

class car(Vehicles):
    def __init__(self,name,color,weight,plate,seats,speed):
        #显示地调用父类的构造方法实现对参数的初始化
        #super()指的是父类对象的引用
        super().__init__(name, color, weight, plate)
        self.__seats = seats
        self.speed = speed

    def get_seats(self):
        return self.__seats
    def set_seats(self,seats):
        self.__seats = seats

def getDetails(self):
        print("汽车的特征:",self.name,self.color,self.weight,self.plate,self.__seats,self.speed)
        # return 

    def speedUp(self):
        if self.speed < 200:
            self.speed += 20
            print("当前速度是:",self.speed)
        else:
            print("已经超速,请减速")

    def speedDown(self):
        if self.speed > 20:
            self.speed -= 20
            print("当前速度是:",self.speed)
        else:
            print("已经低速啦,请加速")

c = car("benz","red","3T","111111",4,100)
print(c.color)
c.getDetails()
c.speedUp()
c.speedUp()

在这里插入图片描述

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王大兴的王兴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值