Python单重循环练习题

第一次学python,求大佬指正 ,

        1、有1020个西瓜,第一天卖掉总数的一半后又多卖出两个,以后每天卖剩下的一半多两个,问几天以后能卖完?

        8天后能卖完

sum = 1020
day = 0

while( sum > 0) :
    day += 1
    sum = sum - (sum // 2+2)
print(str(day)+'天能卖完西瓜')

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

sum = 1

for i in range(9 ,0, -1):
    sum = (sum+1)*2
    print('第%s天吃之前还有%s个桃子' % (i, sum))
print(sum)

        4、任意输入一个整数(小于10位),输出它一共有多少位。

a=1
num= float(input('请输入一个数字\n'))

if(num<0 and num>999999999):
    print('请重新输入')
else:
    while (num>1):
     a+=1
     num /=10
print('它有',a,'位')

               4、计算1000以内所有不能被7整除的整数之和

while方法 

a = 0
sum = 0
while(a<999):
    a+=1
    if(a%7 != 0 ):
        sum += a
print('不能被7整除之和为:',sum)

for方法 

# sum = 0
# for i in range(0,1000):
#     if (i % 7 != 0) :
#         sum += i
# print('不能被7整除之和为:',sum)

运行结果为

         5、本金10000元存入银行,年利率是千分之三,每过1年,将本金和利息相加作为新的本金。计算5年后,获得的本金是

for i in range(1,6):
    monay =10000*((1+0.003)**i)
print(monay)

         6、计算 1+2-3+4-5+6-7....+100的结果

第一种方式判断是否为偶数,偶数加,奇数减,

第二种方式,找到奇偶数,用偶数减去奇数加2

 sum=1

 for i in range (2,101):

     if(i%2==0):

         sum +=i

     else:

         sum -=i

 print(sum)



sum1 = 0 #oushu

sum2= 0  #jishu



for i in range(1,101):

    if(i%2 ==0):

        sum1 +=i

    else:

        sum2 +=i

print((sum1-sum2)+2)

 

        7、一张纸的厚度大约是0.08mm,对折多少次之后能达到或超过珠穆朗玛峰的高度(8848.13米)

i = 0

h = 0.00008 #纸的厚度       (毫米)



f = 8848.13 #珠穆朗玛峰高度 (米)



while(h<f):

    h=h*2

    i=i+1

print('对折',i,'次能够达到或超过珠穆朗玛峰的高度')

        8、从控制台输入一个正整数,计算该数的阶乘。例如输入5,阶乘为 5*4*3*2*1

result = 1

n= int(input('请输入一个数字'))

for i in range(1,n+1):

    result = result * i

    print('第%s阶乘的结果是%s' % (i, result))

print('该数的阶乘结果为:',result)

9、计算销售总金额
图书批发商店的某本书的零售价是26.5元/本,如果客户一次性购买100本以上(包括100本),则每本的价格打9折,如果客户一次性购买500本以上(包括500本),则每本的价格打8并返回1000元给客户,请分别计算购买8本、150本、600本的应付金额是多少。要求购买书的数量从控制台输入。

要求:

先列出操作步骤,再参考步骤来完成代码。
有些参数应适当地从键盘获取输入的值。

a=True
while a:
    shuliang = int(input('你买了几本书\n'))
    if(shuliang<100):
        price = shuliang*26.5
        print(price)
        a = bool(input('输入任意建继续,回车退出'))
        continue
    elif(shuliang>=100 and shuliang<500):
        price = shuliang*26.5*0.9
        print(price)
        a = bool(input('输入任意建继续,回车退出'))
        continue
    else:
        price =shuliang*26.5*.8-1000
        print(price)
        a = bool(input('输入任意建继续,回车退出'))
        continue
print('谢谢使用')

 

  • 7
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小柏ぁ

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

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

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

打赏作者

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

抵扣说明:

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

余额充值