记录一下纠结了半天的代码
任务描述
1、输入一个华氏温度,输出对应的摄氏温度
2、进制转换,输入8位二进制数,分别将其转换为八进制、十进制、十六进制输出
相关知识
1、华氏度与摄氏度转换公式:
C=(F−32)∗5/9
程序会从测试用例获取F的输入值,请根据公式计算出正确的C并正确输出
测试用例: 95.2345
输出结果:
华氏度:95.23,摄氏度:35.13
要求输出结果严格按照以上格式,输出字符串中符号均为英文符号,所有数字均四舍五入保留两位小数!
第二种方法(推荐使用):
使用转换函数:int(a,2)即可将二进制a转换为十进制。
接着可用oct()函数将十进制数转换为八进制
使用hex()函数转换为十六进制组合输出即可
f=input() #第一题测试用例输入华氏度
bin_value=input() #第二题测试用例输入二进制数值
#第一题计算部分
#以下可以自行添加代码段,如不需要可忽略
f=float(f)#将输入的字符串型f转为数字型
c=round((f-32)*5/9,2) #按公式根据f计算摄氏度,四舍五入保留2位小数,要求使用round函数
print("华氏度:{:.2f},摄氏度:{:.2f}".format(f,c))#输出摄氏度。
# #第二题计算部分
# #以下可以自行添加代码段,如不需要可忽略
# #已从测试用例读入bin_value值,分别计算十进制:int_value,八进制:oct_value和十六进制:hex_value
int_value=int(bin_value,2)#根据输入的bin_value求十进制int_value的值
oct_value=oct(int_value)#根据十进制int_value求八进制oct_value的值
hex_value=hex(int_value) #根据十进制int_value求16进制hex_value的值
print("八进制:{}".format(oct_value))#输出八进制数
print("十六进制:{}".format(hex_value))#输出十六进制数#
print("十进制:{}".format(int_value)) #输出十进制数
输出结果: