python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python单位转换

Python实现简单的单位转换器(英里转公里)

作者:晨曦543210

这篇文章主要为大家详细介绍了如何使用Python实现简单的单位转换器(英里转公里),文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下

1. 导入模块

代码中没有导入任何模块,只使用了Python内置函数。

2. 转换函数

这两个函数分别实现了英里到公里和公里到英里的转换。转换系数为1英里等于1.60934公里。

3. 主函数 main()

主函数实现了与用户的交互逻辑。

3.1 打印欢迎信息

print("单位转换器 (英里/公里)")
print("=" * 30)

3.2 主循环

使用while True循环持续接收用户输入,直到用户通过键盘中断(Ctrl+C)退出。

3.2.1 获取用户输入

value = float(input("\n请输入数值: "))
unit = input("输入单位 (英里/公里): ").lower()

3.2.2 执行转换

if unit in ["英里", "mi", "m"]:
    result = miles_to_km(value)
    print(f"{value} 英里 = {result:.2f} 公里")
elif unit in ["公里", "km", "k"]:
    result = km_to_miles(value)
    print(f"{value} 公里 = {result:.2f} 英里")
else:
    print("错误:请使用'英里'或'公里'作为单位")

3.2.3 异常处理

except ValueError:
    print("错误:请输入有效的数字")
except KeyboardInterrupt:
    print("\n\n程序已退出")
    break

4. 程序入口

if __name__ == "__main__":
    main()

确保当该脚本作为主程序运行时才执行main()函数。

5.完整代码

def miles_to_km(miles):
    """英里转公里"""
    return miles * 1.60934
 
def km_to_miles(km):
    """公里转英里"""
    return km / 1.60934
 
def main():
    print("单位转换器 (英里/公里)")
    print("=" * 30)
    
    while True:
        try:
            # 获取用户输入
            value = float(input("\n请输入数值: "))
            unit = input("输入单位 (英里/公里): ").lower()
            
            # 执行转换
            if unit in ["英里", "mi", "m"]:
                result = miles_to_km(value)
                print(f"{value} 英里 = {result:.2f} 公里")
            elif unit in ["公里", "km", "k"]:
                result = km_to_miles(value)
                print(f"{value} 公里 = {result:.2f} 英里")
            else:
                print("错误:请使用'英里'或'公里'作为单位")
                
        except ValueError:
            print("错误:请输入有效的数字")
        except KeyboardInterrupt:
            print("\n\n程序已退出")
            break
 
if __name__ == "__main__":
    main()

在运行过程中,发现它不能关闭,会一直循环,所以针对这些问题,我做出了修改。

6.修改

def miles_to_km(miles):
    # 英里转公里
    return miles * 1.60934
 
def km_to_miles(km):
    # 公里转英里
    return km / 1.60934
 
def main():
    print("单位转换器(英里/公里)")
    print("=" * 30)
    while True:
        try:
            # 获取用户输入
            value_str = input("\n请输入数值(或者'退出'结束程序): ")
            
            if value_str.lower() == "退出":
                print("程序已退出")
                break
                
            value = float(value_str)
            unit = input("请输入单位(公里/英里): ").lower()
            
            # 执行转换
            if unit in ["英里", "mi", "m"]:
                result = miles_to_km(value)
                print(f"{value} 英里 = {result:.2f} 公里")
            elif unit in ["公里", "km", "k"]:
                result = km_to_miles(value)
                print(f"{value} 公里 = {result:.2f} 英里")
            else:
                print("错误:请使用'英里'或'公里'作为单位")
                
        except ValueError:
            print("错误:请输入有效的数字")
        except KeyboardInterrupt:
            print("\n\n程序已退出")
            break
 
if __name__ == "__main__":
    main()

到此这篇关于Python实现简单的单位转换器(英里转公里)的文章就介绍到这了,更多相关Python单位转换内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文