基于pywebio模块的色环电阻查询程序

练手代码,还有好多要优化的地方,请各位指导。

from pywebio.output import *
from pywebio.pin import *
from builtins import str
from pywebio import start_server

#定义变量

i = "电阻色环依次为:"
j = ""
k = ""

def buttont():
    put_table([
            ['请依次选择电阻色环颜色', put_buttons(['黑', '棕',"红","橙","黄","绿","蓝","紫","灰","白","金","银","无色"],οnclick=[hei,zong,hong,cheng,huang,lv,lan,zi,hui,bai,jin,yin,wuse])],
            [put_buttons(["重新选择颜色"],οnclick=[dels]),put_buttons(["确定"],οnclick=[enter])],
    ])

#单击对应颜色按钮反馈函数

def hei():
    with use_scope("a", clear=True):
        global i,j           #global 为声明全局变量的关键字,若不加声明会报错
        i= i+"黑"
        put_markdown(i)
        j= j+"0"
        put_markdown(j)
def zong():
    with use_scope("a", clear=True):
        global i,j,k
        i = i + "棕"
        put_markdown(i)
        j = j + "1"
        put_markdown(j)
def hong():
    with use_scope("a", clear=True):
        global i,j,k
        i = i + "红"
        put_markdown(i)
        j = j + "2"
        put_markdown(j)
def cheng():
    with use_scope("a", clear=True):
        global i,j
        i = i + "橙"
        put_markdown(i)
        j = j + "3"
        put_markdown(j)
def huang():
    with use_scope("a", clear=True):
        global i,j
        i = i + "黄"
        put_markdown(i)
        j = j + "4"
        put_markdown(j)
def lv():
    with use_scope("a", clear=True):
        global i,j,k
        i = i + "绿"
        put_markdown(i)
        j = j + "5"
        put_markdown(j)
def lan():
    with use_scope("a", clear=True):
        global i,j,k
        i = i + "蓝"
        put_markdown(i)
        j = j + "6"
        put_markdown(j)
def zi():
    with use_scope("a", clear=True):
        global i,j,k
        i = i + "紫"
        put_markdown(i)
        j = j + "7"
        put_markdown(j)
def hui():
    with use_scope("a", clear=True):
        global i,j
        i = i + "灰"
        put_markdown(i)
        j = j + "8"
        put_markdown(j)
def bai():
    with use_scope("a", clear=True):
        global i,j
        i = i + "白"
        put_markdown(i)
        j = j + "9"
        put_markdown(j)
def jin():
    with use_scope("a", clear=True):
        global i,j,k
        i = i + "金"
        put_markdown(i)
        j = j + "-1"
        put_markdown(j)
def yin():
    with use_scope("a", clear=True):
        global i,j,k
        i = i + "银"
        put_markdown(i)
        j = j + "-2"
def wuse():
    with use_scope("a", clear=True):
        global i,k
        i = i + "无色"
        put_markdown(i)
        put_markdown(j)


#查询电阻阻值及误差值

def enter():
    with use_scope("a", clear=False):
        global  i,j,m,k

    #最后一环不是无色的五环电阻

        if len(i) == 13 and i[11:13] !="无色":
            if i[12] == "棕":
                k = "允许误差:正负1%"
            elif i[12] == "红":
                k = "允许误差:正负2%"
            elif i[12] == "绿":
                k = "允许误差:正负0.5%"
            elif i[12] == "蓝":
                k = "允许误差:正负0.25%"
            elif i[12] == "紫":
                k = "允许误差:正负0.1%"
            elif i[12] == "金":
                k = "允许误差:正负5%"
            elif i[12] == "银":
                k = "允许误差:正负10%"
            elif i[12:14] == "无色":
                k = "允许误差:正负20%"
            else:
                k = "第五色环颜色输入错误"

            if j[3] != "-":
                m = int(j[0:3])*(10**int(j[3]))
                put_markdown(" # 您查询的是五环电阻,电阻阻值为:"+ str(m) +"欧姆,"+ k)
            else:
                m = round(float(int(j[0:3]) * (10 ** int(j[3:5]))),2)
                put_markdown(" # 您查询的是五环电阻,电阻阻值为:" + str(m) + "欧姆,"+ k)

    #最后一环不是无色的四环电阻

        elif len(i) == 12 and i[10:12] != "无色":
            if i[11] == "棕":
                k = "允许误差:正负1%"
            elif i[11] == "红":
                k = "允许误差:正负2%"
            elif i[11] == "绿":
                k = "允许误差:正负0.5%"
            elif i[11] == "蓝":
                k = "允许误差:正负0.25%"
            elif i[11] == "紫":
                k = "允许误差:正负0.1%"
            elif i[11] == "金":
                k = "允许误差:正负5%"
            elif i[11] == "银":
                k = "允许误差:正负10%"
            elif i[11:13] == "无色":
                k = "允许误差:正负20%"
            else:
                k = "第四色环颜色输入错误"

            if j[2] != "-":
                m = int(j[0:2]) * (10 ** int(j[2]))
                put_markdown(" # 您查询的是四环电阻,电阻阻值为:" + str(m) + "欧姆,  " + k)
            else:
                m = round(float(int(j[0:2]) * (10 ** int(j[2:4]))), 2)
                put_markdown(" # 您查询的是四环电阻,电阻阻值为:" + str(m) + "欧姆,  " + k)

    #最后一环是无色的五环电阻

        elif len(i) == 14 and i[12:14] == "无色":
            if j[2] != "-":
                m = int(j[0:3]) * (10 ** int(j[3]))
                put_markdown(" # 您查询的是五环电阻,电阻阻值为:" + str(m) + "欧姆,  " + "允许误差:正负20%")
            else:
                m = round(float(int(j[0:3]) * (10 ** int(j[3:5]))), 2)
                put_markdown(" # 您查询的是五环电阻,电阻阻值为:" + str(m) + "欧姆,  " + "允许误差:正负20%")

    #最后一环是无色的四环电阻

        elif len(i) == 13 and i[11:13] == "无色":
            if j[2] != "-":
                m = int(j[0:2]) * (10 ** int(j[2]))
                put_markdown(" # 您查询的是四环电阻,电阻阻值为:" + str(m) + "欧姆,  " + "允许误差:正负20%")
            else:
                m = round(float(int(j[0:2]) * (10 ** int(j[2:4]))), 2)
                put_markdown(" # 您查询的是四环电阻,电阻阻值为:" + str(m) + "欧姆,  " + "允许误差:正负20%")
        else:
            toast("🔔 电阻色环选择的数量不够或超过,不能查询!")

#重新输入,变量复位

def dels():
    with use_scope("a", clear=True):
        global i,j,k
        i = "电阻色环依次为:"
        j = ""
        k = ""
        put_markdown(i)

#在本机运行

if __name__ == "__main__":
    buttont()

#局域网运行

# start_server(main, port=8080, debug=True)
# start_server(buttont, host="172.16.0.230", port=2022)
  • 17
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

laixin2401_83235623

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值