根据碳含量计算总铁素体和总渗碳体的百分比

IronCarbonPhaseDiagramCalculator(铁碳相图计算)

def calculate_ferrite_and_cementite(a):
    """根据碳含量计算总铁素体和总渗碳体的百分比"""
    TFe = ((6.67 - a) / (6.67 - 0.025)) * 100
    TCe = 100 - TFe
    return TFe, TCe


def print_output(steel_type, TFe, TCe, prior_ferrite=None, pearlite=None, prior_cementite=False):
    """打印输出信息"""
    print("\t\t\t输入的信息\n")
    print(f"这是 {steel_type}。")
    print(f"总铁素体含量为: {TFe:.2f}%")
    print(f"总渗碳体含量为: {TCe:.2f}%")
    if prior_ferrite is not None:
        print(f"{'先共析铁素体量' if not prior_cementite else '先共析渗碳体量'}为: {prior_ferrite:.2f}%")
    if pearlite is not None:
        print(f"珠光体量为: {pearlite:.2f}%")


def main():
    while True:
        print("\t\t\t杠杆规则(铁-渗碳体图)\n")
        try:
            # 提示用户输入碳含量并说明不要加百分号
            a_input = input("请输入碳含量(例如:0.5 表示 0.5%,而不是 0.5%):\n").strip()
            if '%' in a_input:
                raise ValueError("请不要在数值后加上百分号。")
            a = float(a_input)
        except ValueError as e:
            print(f"输入错误: {e}. 请输入一个有效的数字。\n")
            continue

        TFe, TCe = calculate_ferrite_and_cementite(a)

        if 0.025 < a < 0.8:
            prior_ferrite = ((0.8 - a) / (0.8 - 0.025)) * 100
            pearlite = 100 - prior_ferrite
            print_output("亚共析钢", TFe, TCe, prior_ferrite=prior_ferrite, pearlite=pearlite)
        elif a == 0.8:
            print_output("共析钢", TFe, TCe, pearlite=100)
        elif 0.8 < a <= 2.14:
            prior_cementite = ((a - 0.8) / (6.67 - 0.8)) * 100
            pearlite = 100 - prior_cementite
            print_output("过共析钢", TFe, TCe, prior_ferrite=None, pearlite=pearlite, prior_cementite=True)
        elif a > 2.14:
            print("\t\t\t 输入的信息\n")
            print("这是铸铁(根据铁-渗碳体图)。")
        else:
            print("\t\t\t 输入的信息\n")
            print("被认为是间隙自由钢(IF钢)。")

        y = input("\n是否继续计算?(继续='y', 退出=任意键):\n")
        if y.lower() != 'y':
            break


if __name__ == "__main__":
    main()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值