Python3如何实现0-100℃(步长10)转华氏度的格式化表格?
解决方案:生成摄氏度-华氏度转换表格
嘿,刚好能帮你搞定这个表格生成的需求!你的现有代码是处理单个温度的交互式转换,要改成批量生成0到100℃(步长10)的表格,咱们可以分几步调整:
第一步:重构转换逻辑
先把温度转换的核心逻辑拆成一个独立的函数,这样复用起来更方便——毕竟现在要批量转换,总不能每次都调用输入函数对吧?
第二步:生成目标温度序列
用Python的range()函数就能轻松生成0到100、步长为10的摄氏度数值,注意range是左闭右开的,所以要写range(0, 101, 10)才能包含100℃。
第三步:格式化美观的两列输出
用字符串格式化功能(比如f-string)来控制列的宽度和对齐方式,确保两列整齐,同时保留两位小数。咱们还可以加个表头和分隔线,让表格更清晰。
修改后的完整代码如下:
def c_to_f(celsius): # 抽离核心转换逻辑,方便批量调用 return 9/5 * celsius + 32 def generate_temp_table(): # 打印表头,用右对齐保证列对齐 print(f"{'摄氏度(℃)':>10} | {'华氏度(℉)':>10}") print("-" * 25) # 打印分隔线区分表头和内容 # 生成0到100、步长10的温度序列 for celsius in range(0, 101, 10): fahrenheit = c_to_f(celsius) # 格式化输出,保留两位小数,右对齐让列更整齐 print(f"{celsius:>10.2f} | {fahrenheit:>10.2f}") # 调用函数生成表格 generate_temp_table()
运行效果说明
运行后会输出整齐的两列表格:
摄氏度(℃) | 华氏度(℉) ------------------------- 0.00 | 32.00 10.00 | 50.00 20.00 | 68.00 30.00 | 86.00 40.00 | 104.00 50.00 | 122.00 60.00 | 140.00 70.00 | 158.00 80.00 | 176.00 90.00 | 194.00 100.00 | 212.00
这样既满足了步长10的要求,又保证了表格的美观性,还严格保留了两位小数的格式~
内容的提问来源于stack exchange,提问作者cupcake
相关产品推荐
相关产品推荐

