物理单位的智能转化与正则表达式的巧用

同学们学习过程中经常用到物理单位的转化,比较让大家头大

今天我们通过Python代码实现一键转化,让你的学习美美哒!

#coding=gbk
import re
print('''
1 转化min ------h  2 转化h --------s
3 转化km--------m  4 转化m/s-------km/h
5 kw·h---------J  6 L------------ml
7 1ml = 1cm^3      8 1.0× 10^3 kg/m^3 = 1g/cm^3
''')


def num_inp():
    a = input('输入一个物理量:')
    a_letter = re.findall(r'min|h|km|m/s|kwh|L|ml|', a)
    a_letter = ''.join(a_letter)
    a_num = re.findall(r'\d+', a)
    a_num = ''.join(a_num)
    a_num = float(a_num)
    return (a_letter, a_num)


def dw_change(a_dw, a_num):
    if a_dw == 'min':
        input()
        a_num_change = a_num / 60
        a_num_change_two = a_num * 60
        print(f'转化{a_num}min,为{round(a_num_change,2)}h,为{a_num_change_two}s')
    elif a_dw == 'h':
        input()
        a_num_change = a_num * 3600
        print(f'转化{a_num}h,为{a_num_change}s')
    elif a_dw == 'km':
        input()
        a_num_change = a_num * 1000
        print(f'转化{a_num}km,为{a_num_change}m')

    elif a_dw == 'L':
        input()
        a_num_change = a_num * 1000
        print(f'转化{a_num}L,为{a_num_change}ml')

    elif a_dw == 'ml':
        input()
        a_num_change = a_num
        print(f'转化{a_num}ml,为{a_num_change}cm^3')

    elif a_dw == 'm/s':
        input()
        a_num_change = a_num * 3.6
        print(f'转化{a_num}m/s,为{a_num_change}km/h')
    elif a_dw == 'kwh':
        input()
        a_num_change = a_num * 3.6 * 10 ** 6
        print(f'转化{a_num}kwh,为{a_num_change}J')

while True:
        a_dw, a_num = num_inp()
        dw_change(a_dw,a_num)

功能简洁,使用方便!
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值