Python自学笔记6:实操案例三(十进制转换二、八、十六进制),手机充值,计算能量消耗,预测未来子女身高

Python自学笔记6:实操案例三(十进制转换二、八、十六进制),手机充值,计算能量消耗,预测未来子女身高

杨淑娟老师网课传送门(非广告):https://www.bilibili.com/video/BV1Sw411Z779?p=150&spm_id_from=pageDriver
第150-151讲
1.十进制转二进制、八进制、十六进制
老师非常贴心地在实现了进制转换之后,封装成了一个在while循环里面可以重复调用的函数,并且帮助我们巩固了try except异常语法:
(快捷键:选中之后+tab一键缩进)
正常运行:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
报异常:
在这里插入图片描述
恢复正常:
在这里插入图片描述

def Trans():#快速缩进:选中加tab
    num=int(input('请输入一个十进制的整数'))#将str类型转换为int类型
    print(num,'的二进制数为',bin(num))#第一种写法,用内置函数转换,使用个数可变的位置参数输出
    print(str(num)+'的二进制数为'+bin(num))#bin(num)转换之后的结果就是str类型,可以不写转换
    print('%s的二进制数为:%s'%(num,bin(num)))#第三种写法,格式化字符串
    print('{0}的二进制数为:{1}'.format(num,bin(num)))#第四种写法,格式化字符串
    print(f'{num}的二进制数为:{bin(num)}')#第五种写法,格式化字符串
    print('-----------------------------------')
    num=int(input('请输入一个十进制的整数'))#将str类型转换为int类型
    print(num,'的八进制数为',oct(num))#第一种写法,用内置函数转换,使用个数可变的位置参数输出
    print(str(num)+'的八进制数为'+oct(num))#bin(num)转换之后的结果就是str类型,可以不写转换
    print('%s的八进制数为:%s'%(num,oct(num)))#第三种写法,格式化字符串
    print('{0}的八进制数为:{1}'.format(num,oct(num)))#第四种写法,格式化字符串
    print(f'{num}的八进制数为:{oct(num)}')#第五种写法,格式化字符串
    print('-----------------------------------')
    num=int(input('请输入一个十进制的整数'))#将str类型转换为int类型
    print(num,'的十六进制数为',hex(num))#第一种写法,用内置函数转换,使用个数可变的位置参数输出
    print(str(num)+'的十六进制数为'+hex(num))#bin(num)转换之后的结果就是str类型,可以不写转换
    print('%s的十六进制数为:%s'%(num,hex(num)))#第三种写法,格式化字符串
    print('{0}的十六进制数为:{1}'.format(num,hex(num)))#第四种写法,格式化字符串
    print(f'{num}的十六进制数为:{hex(num)}')#第五种写法,格式化字符串

if __name__=='__main__':
    while True:
        try:
            Trans()
            break
        except:
            print('只能输入整数!程序出错,请重新输入!')

2.手机充值
这个很简单,只考察了字符串的输出和打印变色
在这里插入图片描述

print('用户手机账户原有话费金额为:\033[0;35m8元\033[m')
money=int(input('请输入用户充值金额:'))
money+=8#本来有8元余额
print('当前的余额为:\033[0;33m',money,'元\033[m')

3.计算能量消耗
考察运算符的使用,没啥难度。
在这里插入图片描述

num=int(input('请输入您当天行走的步数:'))
calorie=num*28
print(f'今天共消耗了卡路里{calorie},即{calorie/1000}千卡')

4.预测未来子女身高
也是考察运算符的使用,给定公式子女身高=(父亲身高+母亲身高)*0.54
在这里插入图片描述

father_height=float(input('请输入父亲的身高'))
mother_height=float(input('请输入母亲的身高'))
son_height=(father_height+mother_height)*0.54
print('预测子女的身高为:{}cm'.format(son_height))

这个算出来是三位小数感觉不太整齐,我查了查怎么给他框成两位:
https://blog.csdn.net/weixin_43301333/article/details/117289249
在这里插入图片描述
在这里插入图片描述
可以看出第三个使用Demical的方法出了一些小故障,emm让我查查
噢,原来是我只调用了函数,没有用print输出转换内容,那没事了。
调整之后——
很好!很有精神!
在这里插入图片描述

father_height=float(input('请输入父亲的身高'))
mother_height=float(input('请输入母亲的身高'))
son_height=(father_height+mother_height)*0.54
print('预测子女的身高为:{}cm'.format(son_height))
print('强迫症像输出两位的:')
print("%.2f" % son_height)
print(round(son_height,2))

from decimal import Decimal
print(Decimal(son_height).quantize(Decimal('0.00')))


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值