python菜鸟在成长——运算符

任务1:计算爱国者导弹的总数量
1991年2月25日,伊拉克发射的最后一枚飞毛腿导弹袭击了位于沙特达兰附近的兵营,美军有28人死亡,100余人受伤。那么附近的爱国者导弹为什么没能拦截住这枚飞毛腿导弹呢?事后查明,爱国者导弹使用的软件有个设计缺陷:其内部计算的一部分使用了十进制表示的时间,而一部分使用了二进制表示的时间。因为设计缺陷,“爱国者”导弹系统如果连续工作超过8小时,射程就会偏离正常位置20%,虽然开发者和军方都知道这个软件缺陷,但美国军方认为“爱国者”导弹不会持续工作超过8小时,超过8小时只需使用者重新启动系统就会恢复正常。而在伊拉克战争期间,爱国者导弹始终处于高度戒备状态,从来没有重新启动过,当时负责防御的爱国者导弹已经持续运行了100小时。爱国者导弹的射程已经完全偏离正常位置,拦截功能形同虚设。所以说:软件如果发现错误,就一定要找到错误原因,修复错误。而不是假设使用者能遵循某些规定。下面的几个数字分别是不同进制数表示的爱国者导弹数量,请分别转换为十进制数字输出,然后计算出爱国者导弹的总数量。爱国者导弹数量分别为:
8进制数 2进制数 16进制数
267 10110001 e3a5

错误代码:

a = int(input("八进制数\n"))
b = int(input("二进制数\n"))
c = int(input("十六进制数\n"))
print("转换后的十进制数为:",int("a", 2))
print("转换后的十进制数为:",int("b", 8))
print("转换后的十进制数为:",int(c,16))

参考代码:

i = 1
while i < 4:
    # 输入用户需要转换的数字
    number = input("输入数字:")
    # 输入当前数字的进制类型,这里只设置了8进制、2进制与16进制
    type = input("输入当前数字的进制类型:")
    if type == "8" or type == "2" or type == "16":
        if type == "8":
            num8 = int(number, 8)
            print("8进制267的十进制为", num8)
        if type == "2":
            num2 = int(number,2)
            print("2进制10110001的十进制为", num2)
        if type == "16":
            num16 = int(number,16)
            print("16进制e3a5的十进制为", num16)
    else:
        print('没有符合的进制转换条件!')
    i = i + 1
print("导弹总数量是:", num8 + num2 + num16)

在这里插入图片描述
任务2:奋斗的青春最美丽
青年人需要奋斗,需要进取。哪怕在原来的基础上只有一点点进步,一年后你可能收获更多的回报;而每天退步一点点,却会被别人甩得很远。
请试着用本章学习的内容,编写一个程序,求一个数的N次幂。首先要求用户输入底数,然后再要求用户输入指数,然后输出这个数的幂值。举例:用户输入底数0.99,指数为365,输出结果0.025517964452291125;用户输入底数1.01,指数为365,输出结果37.7834333288728。
请输入底数:0.99
请输入幂:365
0.025517964452291125
请输入底数:1.01
请输入幂:365
37.78343433288728

a=0.99
b=365
print("请输入底数:",a)
print("请输入幂:",b)
print(a**b)

c=1.01
d=365
print("请输入底数:",c)
print("请输入幂:",d)
print(c**d)

在这里插入图片描述
参考代码:

a=float(input("请输入底数:"))
b=float(input("请输入幂:"))
c=a**b
print(c)

任务3:计算汽车平均油耗及费用
已知周晓洋最近的轿车里程表显示百公里的油耗比平常低很多,他怀疑数据不准,想编写一个程序,输入加油的钱数以及加油后运行的公里数,算出车辆的油耗,再输入一年运行的公里数,可以计算出一年的用油钱数(假设1年中95#汽油的价格始终为8元)。

a = int(input("请输入加油的钱数:\n"))
b = int(input("请输入运行的公里数:\n"))
c = a/b
print("您车辆的油耗为:8.01/100.每公里花费为:",c,"元")
d = int(input("请输入车辆1年运行的总的公里数:\n"))
print("您的车辆一年的油费为:",int(c*d),"元。")

在这里插入图片描述

任务4:华氏温度转换成摄氏温度
我们国家温度采用摄氏温度进行表示,而西欧、英国、美国等其他英语国家普遍使用华氏度进行表示。将华氏温度换算为摄氏温度的公式为C=(F-32)5/9,将摄氏温度换算为华氏温度的公式为:F=(C9/5)+32。
请编写一个程序,将用户输入的华氏温度转化成摄氏温度(保留整数)。

F = int(input("请输入华氏摄氏度:"))
C = (F-32)*5/9
print("转换后的摄氏度为:",int(C))

在这里插入图片描述
参考代码:

F = int(input("请输入华氏摄氏度:"))     # 华氏温度
C = int((F-32)*5/9)                      # 摄氏温度
print("转换后的摄氏度为:",C)

心得体会:
1.任务一是真的不会,就关于进制之间的转换,之前在前面的博客也写了十进制转八进制、二进制、十六进制,但是现在反转过来,就不会了,还是得自己百度,自己探索。
2.任务二涉及到幂数的转换,底数和指数以及相关符号(**)
3.任务三不赘述,挺简单的
4.任务四是一个经典的华氏温度转换,把握公式,基本没有大问题。

发布了43 篇原创文章 · 获赞 61 · 访问量 5103

猜你喜欢

转载自blog.csdn.net/qq_44735533/article/details/103759661