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

 更新时间:2025年06月18日 10:49:35   作者:晨曦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("错误:请使用'英里'或'公里'作为单位")
  • 如果单位是英里(支持“英里”、“mi”或“m”),则调用miles_to_km函数进行转换,并打印结果(保留两位小数)。
  • 如果单位是公里(支持“公里”、“km”或“k”),则调用km_to_miles函数进行转换,并打印结果。
  • 如果单位不在支持列表中,则提示错误。

3.2.3 异常处理

except ValueError:
    print("错误:请输入有效的数字")
except KeyboardInterrupt:
    print("\n\n程序已退出")
    break
  • ValueError:当用户输入无法转换成浮点数时触发,提示输入有效数字。
  • KeyboardInterrupt:当用户按下Ctrl+C时触发,打印退出信息并跳出循环(退出程序)。

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单位转换内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python处理multipart/form-data的请求方法

    python处理multipart/form-data的请求方法

    今天小编就为大家分享一篇python处理multipart/form-data的请求方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • 在python中利用opencv简单做图片比对的方法

    在python中利用opencv简单做图片比对的方法

    今天小编就为大家分享一篇在python中利用opencv简单做图片比对的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • Python中包管理工具pip安装及常用命令总结

    Python中包管理工具pip安装及常用命令总结

    这篇文章主要介绍了Python的包管理工具pip的安装步骤和常用命令,以及如何在Python环境迁移中安装依赖,文中通过图文以及代码示例介绍的非常详细,需要的朋友可以参考下
    2024-12-12
  • tensorflow 模型权重导出实例

    tensorflow 模型权重导出实例

    今天小编就为大家分享一篇tensorflow 模型权重导出实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • Python中pow()和math.pow()函数用法示例

    Python中pow()和math.pow()函数用法示例

    这篇文章主要介绍了Python中pow()和math.pow()函数用法,结合具体实例形式分析了Python使用pow()和math.pow()函数进行幂运算的相关操作技巧,需要的朋友可以参考下
    2018-02-02
  • 详解Python模块化--模块(Modules)和包(Packages)

    详解Python模块化--模块(Modules)和包(Packages)

    这篇文章主要介绍了使用Python的模块(Modules)和包(Packages),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-08-08
  • pycharm 如何取消连按两下shift出现的全局搜索

    pycharm 如何取消连按两下shift出现的全局搜索

    这篇文章主要介绍了pycharm 如何取消连按两下shift出现的全局搜索?下面小编就为大家介绍一下解决方法,还等什么?一起跟随小编过来看看吧
    2021-01-01
  • Pycharm连接远端Python环境操作Spark过程

    Pycharm连接远端Python环境操作Spark过程

    远程连接方案通过SSH配置PyCharm连接CentOS服务器,统一环境避免差异,自动同步代码至远程工作目录,并映射pyspark等工具包,提升开发效率与一致性
    2025-07-07
  • Python实现爬取逐浪小说的方法

    Python实现爬取逐浪小说的方法

    这篇文章主要介绍了Python实现爬取逐浪小说的方法,基于Python的正则匹配功能实现爬取小说页面标题、链接及正文等功能,需要的朋友可以参考下
    2015-07-07
  • Python处理缺失数据的多种方式

    Python处理缺失数据的多种方式

    在数据分析和数据处理的过程中,缺失数据(Missing Data)是一个常见的问题,缺失数据的存在可能会影响模型的准确性和预测的可靠性,因此正确处理缺失数据是数据分析的重要步骤,所以本文给大家介绍了Python处理缺失数据的多种方式,需要的朋友可以参考下
    2024-08-08

最新评论