光荣之路 Python 课程第一章 初探 22道练习题--3-10题

3.计算一周有多少分钟、多少秒钟

>>> w=7
>>> d=24
>>> h=60
>>> m=60
>>> print("一周有多少分钟?",(w*d*h))
一周有多少分钟? 10080
>>> print("一周有多少秒?",(w*d*h*m))
一周有多少秒? 604800
>>>

这里写图片描述
这道题相对比较简单,没有太多需要优化的地方,本题的难点在于逻辑上如何计算一周有多少分钟和多少秒

4.3个人在餐厅吃饭,想分摊饭费。总共花费35.27美元,他们还想给15%的小费。每个人该怎么付钱,编程实现

>>> t=35.27
>>> t=t+t*0.15
>>> p=t/3
>>> print("每个人应付:",round(p,2))
每个人应付: 13.52
>>>

运行结果
这道题也比较简单,只要算好总共要付的钱,再求平均数就好

5.计算一个12.5m X 16.7m的矩形房间的面积和周长

>>> k=12.5
>>> c=16.7
>>> print("房间面积为:",(c*k),'平方米')
房间面积为: 208.75 平方米
>>> print("房间周长为:",((c+k)*2),'m')
房间周长为: 58.4 m
>>>

运行结果
不多解释了……简单……

6.怎么得到9 / 2的小数结果

>>> p=9/2
>>> p
4.5
>>> float(p)
4.5
>>> print(float(p))
4.5
>>>

这里写图片描述

7.python计算中7 * 7 7 7,可以有多少种写法
目前想到4种

>>> p=7*7*7*7
>>> p
2401
>>> p=pow(7,4)
>>> p
2401
>>> p=pow(7,2)*pow(7,2)
>>> p
2401
>>> p=7**4
>>> p
2401
>>>

运行结果

8.写程序将温度从华氏温度转换为摄氏温度。转换公式为C = 5 / 9*(F -32)

>>> F=input("请输入华氏度:")

请输入华氏度:123

>>> F=int(F)

>>> C=5/9*(F-32)

>>> print("当前是",round(C,1),"摄氏度")

当前是 50.6 摄氏度

>>> 

运行结果
同样是输入的问题,我们来完善一下:

#encoding=utf-8
while True:
    try:
        F=input("请输入华氏度:")
        F=int(F)
        C=5/9*(F-32)
        break
    except (TypeError,ValueError):
        print("请输入正整数!再试一次吧")

print("当前是",round(C,1),"摄氏度")

运行结果

9.一家商场在降价促销。如果购买金额50-100元(包含50元和100元)之间,会给10%的折扣,如果购买金额大于100元会给20%折扣。编写一程序,询问购买价格,再显示出折扣(10%或20%)和最终价格。

# encoding=utf-8
p=input("您的购物价格是:")
p=int(p)
if 50<=p<=100:
    p1=p-(p*0.1)
    print("您的折扣率是10%'\n'您的最终价格是:",p1)
elif p>100:
    p2=p-(p*0.2)
    print("您的折扣率是20%'\n'您的最终价格是:",p2)
else:
    print("您的购物价格太低,没有折扣!")

运行结果

这道题我们也可以完善一下:

# encoding=utf-8
while True:
    try:
        p=input("您的购物价格是:")
        p=int(p)
        if p<0:
            print("请输入正确的价格!")
            continue
        else:
            break
        break
    except:
        print("请输入正确的价格!")
if 50<=p<=100:
    p1=p-(p*0.1)
    print("您的折扣率是10%\n您的最终价格是:",p1)
elif p>100:
    p2=p-(p*0.2)
    print("您的折扣率是20%\n您的最终价格是:",p2)
else:
    print("您的购物价格太低,没有折扣!")

我除了增加了对字符和回车的判断,也加入了对于负数的判断,使得输入负数时不会报出”您的购物价格太低,没有折扣!”这句,而是直接要求输入正确的价格。此外,在打印的语句中也有个小错误,就是换行符上加了”(单引号),这导致输出时有点小瑕疵,去掉单引号后就没有问题了。
运行结果

10.判断一个数n能否同时被3和5整除

# encoding=utf-8
n=input("请输入一个整数:")

n=int(n)

if n%3==0 and n%5==0:

   print(n,"可以被3和5整除")

elif n%3==0:

   print(n,"只能被3整除")

elif n%5==0:

   print(n,"只能被5整除")

else:

   print(n,"既不能被3整除,也不能被5整除")

运行结果
我再来完善下这道题:

# encoding=utf-8
while True:
    try:
        n=input("请输入一个数:")
        n=int(n)
        break
    except:
        print("输入错误!请输入一个数")

if n%3==0 and n%5==0:
    print(n,"可以被3和5整除")
elif n%3==0:
    print(n,"只能被3整除")
elif n%5==0:
    print(n,"只能被5整除")
else:
    print(n,"既不能被3整除,也不能被5整除")

运行结果
完善后好多了,但是这道题还有一个问题,就是如果输入小数,应该输出的是既不能被3整除也不能被5整除,这个问题我还要再研究一下……

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值