Python 实现彩票抽奖系统详解(双色球)

news2024/11/25 7:21:24

目录

一、系统功能概述

二、代码实现详解

(一)自选功能实现(ziXuanCaiPiao函数)

(二)机选功能实现(autoChoiceCaiPiao函数)

(三)彩票展示功能实现(showCaiPiao函数)

(四)中奖结果判定功能实现(getWinResult函数)

(五)中奖结果信息展示功能实现(showWinResultMsg函数)

(六)主程序逻辑(while循环部分)

三、系统运行效果展示

四、完整代码展示

五、总结


        在当今数字化的时代,编程已经成为了一项极具价值的技能,它能够帮助我们解决各种实际问题,实现丰富多样的功能。本文将详细介绍一个使用 Python 语言实现的彩票抽奖系统。通过这个系统,我们可以深入了解 Python 的基本语法、函数定义、流程控制以及如何与用户进行交互等方面的知识。这个彩票抽奖系统模拟了现实中彩票购买、抽奖和中奖结果判定的过程,具有一定的趣味性和实用性,对于初学者来说是一个很好的实践项目,同时也能为有一定编程基础的开发者提供一些参考和启发。

一、系统功能概述

  1. 打印欢迎界面:当用户运行程序时,首先会看到一个友好的欢迎界面,向用户展示彩票中心的相关信息,营造出一种真实的彩票购买场景。
  2. 用户选择功能:用户可以在自选和机选两种方式中进行选择,以确定彩票号码的生成方式。如果用户输入的选择不正确,程序会通过死循环一直提示用户重新选择,直到用户输入正确的选项。
  3. 号码生成功能
    • 机选方法:机器通过随机算法生成一组符合彩票规则的号码,包括 6 个 1~33 之间的不重复红球和 1 个 1~16 之间的蓝球。
    • 自选方法:用户根据提示手动输入 6 个 1~33 之间的不重复数字作为红球号码,以及 1 个 1~16 之间的数字作为蓝球号码。如果用户输入的数字不符合要求,程序会给出相应的提示。
  4. 号码比对功能:将用户选择的彩票号码与机器生成的中奖号码进行比对,以确定用户是否中奖以及中奖的奖项等级。
  5. 奖项判定功能:根据号码比对的结果,按照预先设定的规则判定用户中了哪个奖项,奖项分为一等奖至六等奖以及未中奖。
  6. 打印抽奖情况:最后,程序会将用户选择的彩票号码、中奖号码以及用户的中奖结果详细地打印出来,让用户清楚地了解自己的抽奖情况。

二、代码实现详解

(一)自选功能实现(ziXuanCaiPiao函数)

  1. 代码逻辑
    • 首先,函数通过input函数获取用户输入的 6 个 1~33 之间的数字,并用空格隔开。然后,将用户输入的字符串通过split方法分割成一个列表list01
    • 接着,对list01进行筛选,只保留 1 到 33 之间的数字,将其转换为整数后存入list01。然后,将list01转换为集合set1,通过判断集合的长度是否为 6 来确定用户输入的数字个数是否正确且不重复。如果不符合要求,打印提示信息 “您输入的数字个数不对或者不规范”。
    • 如果红球数字输入正确,函数继续提示用户输入一个 1~16 之间的数字作为蓝球号码。如果用户输入的是数字且在 1 到 16 的范围内,将蓝球号码添加到列表中,并对列表进行排序后返回。如果蓝球输入不符合要求,打印提示信息 “您输入的蓝球不符合要求”。
  2. 代码示例

def ziXuanCaiPiao():
    # 存放自选的彩票
    customList = []
    str1 = input("请输入6个1~33之间的不重复数字,并使用空格隔开")
    # 红球
    list01 = str1.split()
    list01 = [num for num in list01 if 1 <= int(num) <= 33]
    set1 = set(list01)
    if len(set1)!= 6:
        print("您输入的数字个数不对或者不规范")
    else:
        customList += list01
        customList.sort()
        str2 = input("请输入一个1~16之间的数字:")
        if str2.isdigit() and 1 <= int(str2) <= 16:
            customList.append(str2)
            return customList
        else:
            print("您输入的蓝球不符合要求")

(二)机选功能实现(autoChoiceCaiPiao函数)

  1. 代码逻辑
    • 对于红球的生成,函数首先创建一个包含 1 到 33 的整数列表list01。然后,通过一个循环,每次随机从list01中选取一个索引,将该索引对应的数字取出作为红球号码,并从list01中删除该数字,以保证红球号码不重复。循环 6 次,得到 6 个红球号码,并将其存入autoList中,然后对autoList进行排序。
    • 对于蓝球的生成,函数通过random.randint(1, 16)随机生成一个 1 到 16 之间的整数作为蓝球号码,并添加到autoList中。最后,将autoList中的数字转换为字符串列表后返回。
  2. 代码示例

def autoChoiceCaiPiao():
    # 红球6个,是一个1~33之间的整数
    # list : 排序比较方便
    autoList = []
    list01 = list(range(1, 34))
    for i in range(6):
        index = random.randint(0, len(list01) - 1)
        redBall = list01.pop(index)
        autoList.append(redBall)
    autoList.sort()
    # print(autoList)
    # 蓝球的生成
    blueBall = random.randint(1, 16)
    autoList.append(blueBall)
    # print(autoList)
    strList = [str(i) for i in autoList]
    return strList

(三)彩票展示功能实现(showCaiPiao函数)

  1. 代码逻辑
    • 函数接收中奖号码列表zjList和用户购买的彩票号码列表buyList作为参数。
    • 首先,分别从buyListzjList中提取红球号码和蓝球号码。红球号码是列表的前 6 个元素,蓝球号码是列表的第 7 个元素(索引为 6)。
    • 然后,将红球号码列表转换为字符串,并用逗号连接,以便于显示。
    • 最后,使用print函数分别打印出用户选择的彩票号码和中奖号码的格式为 “红球:[红球号码列表] 蓝球:[蓝球号码]” 的信息。
  2. 代码示例

def showCaiPiao(zjList, buyList):
    buyRedList = buyList[0:6]
    buyBlueList = buyList[6:]
    zjRedList = zjList[0:6]
    zjBlueList = zjList[6:]

    print("++++++++++++++++++++")

    # print(buyBlueList)
    # print(type(buyBlueList))
    print("您的选择是:红球:" + ",".join(buyRedList) + "蓝球:" + buyBlueList[0])
    print("中奖号码是:红球:" + ",".join(zjRedList) + " 蓝球:" + zjBlueList[0])

(四)中奖结果判定功能实现(getWinResult函数)

  1. 代码逻辑
    • 函数接收中奖号码列表zjList和用户购买的彩票号码列表buyList作为参数。
    • 首先,将buyListzjList中的红球号码分别提取出来并转换为集合buyRedSetzjRedSet,通过计算两个集合的交集jiaoJiSet的长度,得到用户选中的红球个数redNum
    • 然后,分别获取用户购买的蓝球号码buyBlue和中奖的蓝球号码zjBlue
    • 最后,根据预先设定的中奖规则,通过一系列的条件判断来确定用户的中奖等级。如果用户中了一等奖(6 个红球全中且蓝球也中),则返回 1;中二等奖(6 个红球全中但蓝球未中),返回 2;以此类推,根据不同的中奖情况返回相应的数字。如果用户未中奖,则返回 0。
  2. 代码示例

def getWinResult(zjList, buyList):
    # 使用交集的方式,查看中将的球数
    buyRedSet = set(buyList[0:6])
    buyBlue = buyList[6:][0]
    zjRedSet = set(zjList[0:6])
    zjBlue = zjList[6:][0]

    jiaoJiSet = buyRedSet & zjRedSet
    redNum = len(jiaoJiSet)
    if redNum == 6 and buyBlue == zjBlue:
        return 1
    elif redNum == 6:
        return 2
    elif redNum == 5 and buyBlue == zjBlue:
        return 3
    elif (redNum == 4 and buyBlue == zjBlue) or redNum == 5:
        return 4
    elif (redNum == 3 and buyBlue == zjBlue) or redNum == 4:
        return 5
    elif buyBlue == zjBlue:
        return 6
    else:
        return 0

(五)中奖结果信息展示功能实现(showWinResultMsg函数)

  1. 代码逻辑
    • 函数使用 Python 的match-case结构来根据传入的中奖结果等级winResultLevel打印相应的中奖信息。
    • winResultLevel为 0 时,打印 “没有中奖,再接再厉”;为 1 时,打印 “恭喜您中了一等奖,至少 500 万”;为 2 时,打印 “恭喜您中了二等奖,至少 300 万”;以此类推,对应不同的奖项等级打印相应的中奖提示信息。
  2. 代码示例

def showWinResultMsg(winResultLevel):
    match winResultLevel:
        case 0:
            print("没有中奖,再接再厉")
        case 1:
            print("恭喜您中了一等奖,至少500万")
        case 2:
            print("恭喜您中了二等奖,至少300万")
        case 3:
            print("恭喜您中了三等奖,3000元到账")
        case 4:
            print("恭喜您中了四等奖,200元到账")
        case 5:
            print("恭喜您中了五等奖,10元到账")
        case 6:
            print("恭喜您中了六等奖,5元到账")

(六)主程序逻辑(while循环部分)

  1. 代码逻辑
    • 首先,程序通过一个无限循环来持续运行,直到用户选择退出。在循环内部,首先打印欢迎界面,提示用户输入选择:1 表示自选,2 表示机选,0 表示退出系统。
    • 用户输入选择后,通过match-case结构来处理不同的选择。
    • 当用户选择 1(自选)时,调用ziXuanCaiPiao函数获取用户自选的彩票号码zixuanList,然后调用showCaiPiao函数展示中奖号码和用户选择的号码,接着调用getWinResult函数获取中奖结果等级,并调用showWinResultMsg函数展示中奖信息。
    • 当用户选择 2(机选)时,调用autoChoiceCaiPiao函数两次,一次生成中奖号码zhongJiangList,另一次生成用户的机选号码jixuanList。然后进行与自选相同的操作,展示号码、判定中奖结果并展示中奖信息。
    • 当用户选择其他选项(默认情况,即输入不是 1、2 或 0 时),程序继续循环,提示用户重新输入选择。
    • 当用户选择 0 时,循环结束,程序退出。
  2. 代码示例

while True:
    print("欢迎来到王者体育彩票中心")
    print("请输入您的选择:1、自选 2、机选 0 退出系统")
    choice = int(input())
    zhongJiangList = autoChoiceCaiPiao()
    match choice:
        case 1:
            zixuanList = ziXuanCaiPiao()
            showCaiPiao(zhongJiangList, zixuanList)
            winResultLevel = getWinResult(zhongJiangList, zixuanList)
            showWinResultMsg(winResultLevel)
        case 2:
            jixuanList = autoChoiceCaiPiao()
            showCaiPiao(zhongJiangList, jixuanList)
            winResultLevel = getWinResult(zhongJiangList, jixuanList)
            showWinResultMsg(winResultLevel)
        case _:
            break

三、系统运行效果展示

当用户运行程序时,首先会看到欢迎界面:

然后提示用户输入选择:

如果用户选择 1(自选),程序会提示用户输入 6 个 1~33 之间的不重复数字作为红球号码:

用户输入后,如果不符合要求,会提示相应的错误信息,例如输入数字个数不对或有重复数字时会提示 “您输入的数字个数不对或者不规范”。如果输入正确,会继续提示用户输入一个 1~16 之间的数字作为蓝球号码:

如果蓝球号码输入不符合要求,会提示 “您输入的蓝球不符合要求”。如果都输入正确,程序会展示用户选择的彩票号码和中奖号码,并给出中奖结果信息,例如:

如果用户选择 2(机选),程序会自动生成中奖号码和用户的机选号码,并展示相关信息和中奖结果,例如:

如果用户选择 0,程序会退出运行。

四、完整代码展示

import random


# 自选
def ziXuanCaiPiao():
    # 存放自选的彩票
    customList = []
    str1 = input("请输入6个1~33之间的不重复数字,并使用空格隔开")
    # 红球
    list01 = str1.split()
    list01 = [num for num in list01 if 1 <= int(num) <= 33]
    set1 = set(list01)
    if len(set1) != 6:
        print("您输入的数字个数不对或者不规范")
    else:
        customList += list01
        customList.sort()
        str2 = input("请输入一个1~16之间的数字:")
        if str2.isdigit() and 1 <= int(str2) <= 16:
            customList.append(str2)
            return customList
        else:
            print("您输入的蓝球不符合要求")


# 机选
def autoChoiceCaiPiao():
    # 红球 6 个,是一个1~33之间的整数
    # list : 排序比较方便
    autoList = []
    list01 = list(range(1, 34))
    for i in range(6):
        index = random.randint(0, len(list01)-1)
        redBall = list01.pop(index)
        autoList.append(redBall)
    autoList.sort()
    # print(autoList)
    # 蓝球的生成
    blueBall = random.randint(1,16)
    autoList.append(blueBall)
    # print(autoList)
    strList = [str(i) for i in autoList]
    return strList


def showCaiPiao(zjList, buyList):
    buyRedList = buyList[0:6]
    buyBlueList = buyList[6:]
    zjRedList = zjList[0:6]
    zjBlueList = zjList[6:]

    # print("++++++++++++++++++++")

    # print(buyBlueList)
    # print(type(buyBlueList))
    print("您的选择是:红球:" + ",".join(buyRedList) + "蓝球:"+buyBlueList[0])
    print("中奖号码是:红球:" + ",".join(zjRedList) + " 蓝球:"+zjBlueList[0])


def getWinResult(zjList, buyList):
    # 使用交集的方式,查看中将的球数
    buyRedSet = set(buyList[0:6])
    buyBlue = buyList[6:][0]
    zjRedSet = set(zjList[0:6])
    zjBlue = zjList[6:][0]

    jiaoJiSet = buyRedSet & zjRedSet
    redNum = len(jiaoJiSet)
    if redNum == 6 and buyBlue == zjBlue:
        return 1
    elif redNum == 6:
        return 2
    elif redNum == 5 and buyBlue == zjBlue:
        return 3
    elif (redNum == 4 and buyBlue == zjBlue) or redNum == 5:
        return 4
    elif (redNum == 3 and buyBlue == zjBlue) or redNum == 4:
        return 5
    elif buyBlue == zjBlue:
        return 6
    else:
        return 0


def showWinResultMsg(winResultLevel):
    match winResultLevel:
        case 0:
            print("没有中奖,再接再厉")
        case 1:
            print("恭喜您中了一等奖,至少500万")
        case 2:
            print("恭喜您中了二等奖,至少300万")
        case 3:
            print("恭喜您中了三等奖,3000元到账")
        case 4:
            print("恭喜您中了四等奖,200元到账")
        case 5:
            print("恭喜您中了五等奖,10元到账")
        case 6:
            print("恭喜您中了六等奖,5元到账")


while True:
    print("欢迎来到王者体育彩票中心")
    print("请输入您的选择:1、自选 2、机选 0 退出系统")
    choice = int(input())
    zhongJiangList = autoChoiceCaiPiao()
    match choice:
        case 1:
            zixuanList = ziXuanCaiPiao()
            showCaiPiao(zhongJiangList, zixuanList)
            winResultLevel = getWinResult(zhongJiangList, zixuanList)
            showWinResultMsg(winResultLevel)
        case 2:
            jixuanList = autoChoiceCaiPiao()
            showCaiPiao(zhongJiangList, jixuanList)
            winResultLevel = getWinResult(zhongJiangList, jixuanList)
            showWinResultMsg(winResultLevel)
        case _:
            break



五、总结

  1. 本彩票抽奖系统通过 Python 语言实现了一个简单但功能完整的模拟彩票抽奖过程。通过对代码的分析和实现,我们深入学习了 Python 的多种基本编程概念和技术,如函数定义、条件判断、循环结构、随机数生成、集合操作以及字符串处理等。
  2. 在代码实现过程中,我们注重了用户输入的验证和错误处理,以确保程序的稳定性和可靠性。例如,在自选功能中,对用户输入的红球和蓝球号码进行了严格的格式和范围检查,保证用户输入的合法性。同时,通过合理的函数划分,使代码结构清晰,易于理解和维护。每个函数都有明确的功能职责,如ziXuanCaiPiao函数负责处理用户自选号码的输入和验证,autoChoiceCaiPiao函数负责生成机选号码,showCaiPiao函数用于展示彩票号码,getWinResult函数用于判定中奖结果,showWinResultMsg函数用于展示中奖信息。

        通过对这个彩票抽奖系统的详细介绍和分析,我们不仅学习了 Python 编程的具体技术,还了解了如何将这些技术应用到实际的项目中,实现一个具有一定功能和逻辑的系统。希望读者能够通过阅读本文,掌握相关知识,并在自己的编程学习

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2223601.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何解决 IDEA 的 pom.xml 文件中,依赖警告问题

原因 在升级高版本的Idea后&#xff0c;我的是&#xff08;2024.2&#xff09;版本。Idea默认引入了插件 Package Checker 插件&#xff0c;用于检查 Maven 的 pom.xml 引入的 jar 包是否有漏洞风险。如果有漏洞风险则直接在引入的 pom.xml 下画黄线警告。 虽然不是错误&…

Tkinter -- python GUI学习与使用

前言 python GUI 目前pythonGUI有很多&#xff0c;哪一个最好&#xff1f; 先说说我选择的思路&#xff0c;我的目的是开发一个易用的软件&#xff0c;最重要的是稳定&#xff0c;并且碰到问题能够解决&#xff0c;因此&#xff0c;我的目标很明确&#xff0c;有比较大的用户群…

杂项笔记

1 这个好像如果如果分配空间就会执行 这个扩容好像会进行拷贝 2 3 4 没懂 5

【数据结构与算法】走进数据结构的“时间胶囊”——栈

大家好&#xff0c;我是小卡皮巴拉 文章目录 目录 引言 一.栈的基本概念 1.1 定义 1.2 特性 1.3 基本操作 二.栈的实现方式 2.1 顺序栈 2.2 链栈 三.顺序栈的实现 定义顺序栈的结构 初始化 入栈 检查栈是否为空 出栈 销毁 四.链栈的实现 定义链栈的结构 初始…

未来汽车驾驶还会有趣吗?车辆动力学系统简史

未来汽车驾驶还会有趣吗&#xff1f;车辆动力学系统简史 本篇文章来源&#xff1a;Schmidt, F., Knig, L. (2020). Will driving still be fun in the future? Vehicle dynamics systems through the ages. In: Pfeffer, P. (eds) 10th International Munich Chassis Symposiu…

数字图像处理的概念(一)

一 何谓数字图像处理 1 图像的概念 图像是对客观存在的物体的一种相似性的、生动的写真或描述。 2 图像的类别 可见光成像和不可见光成像 单波段、多波段和超波段图像 伽马射线成像 主要用途包括核 医学和天文观测 等 。 核医学 a)同位素注射 骨骼扫描图像 b)正电子放射( …

【Docker】安装、镜像、容器

什么是Docker&#xff1f; Docker&#xff1a;是基于Go语言实现的开源项目。 Docker 是一个用于开发、交付和运行应用程序的开放平台。它允许开发人员将应用程序及其依赖包打包到一个可移植的容器中&#xff0c; 然后在任何流行的 Linux 机器上运行。Docker 容器是完全隔离的&…

Openpyxl--学习记录

1.工作表的基本操作 1.1 工作表的新建打开与保存 1.1.1 创建工作簿 from openpyxl import Workbook from pathlib import Pathfile_path Path.home() / "Desktop" / "123.xlsx"# 1.创建工作簿 wb Workbook() # 2.访问默认工作簿 ws wb.active # 3.填充…

pytorh学习笔记——cifar10(六)MobileNet V1网络结构

基础知识储备&#xff1a; 一、深度可分离卷积&#xff08;Depthwise Separable Convolution&#xff09; MobileNet的核心是深度可分离卷积&#xff08;Depthwise Separable Convolution&#xff09;&#xff0c;深度可分离卷积是卷积神经网络&#xff08;CNN&#xf…

低代码开发详解与行业应用指南

低代码开发简化软件开发&#xff0c;助力企业数字化转型。ZohoCreator应用于零售、制造、教育、IT、医疗、房地产等行业&#xff0c;提升效率、降低成本。灵活定价&#xff0c;支持免费试用&#xff0c;助力企业快速实现数字化。 一、低代码开发是什么&#xff1f; 低代码开发…

CSS3 动画相关属性实例大全(三)(columns、filter、flex、flex-basis 、flex-grow、flex-shrink属性)

CSS3 动画相关属性实例大全&#xff08;三) &#xff08;columns、filter、flex、flex-basis 、flex-grow、flex-shrink属性&#xff09; 本文目录&#xff1a; 一、columns属性&#xff08;设置元素的列宽和列数&#xff09; 二、filter属性&#xff08;调整图像、背景和边…

打造充电场站:场地选择与合规运营详解

建设一座充电站需要六步流程&#xff1a;准备工作 → 备案 → 土地审核 → 规划审核 → 电力申请 → 验收确认 一、准备工作 在确定建设前&#xff0c;要考察待选的场地&#xff0c;例如空地、停车场等&#xff0c;与场地所有方签订充电站建设合作协议。根据场地和车流量等实际…

Docker 部署 EMQX 一分钟极速部署

部署 EMQX ( Docker ) [Step 1] : 拉取 EMQX 镜像 docker pull emqx/emqx:latest[Step 2] : 创建目录 ➡️ 创建容器 ➡️ 拷贝文件 ➡️ 授权文件 ➡️ 删除容器 # 创建目录 mkdir -p /data/emqx/{etc,data,log}# 创建容器 docker run -d --name emqx -p 1883:1883 -p 1808…

H7-TOOL的LUA小程序教程第15期:电压,电流,NTC热敏电阻以及4-20mA输入(2024-10-21,已经发布)

LUA脚本的好处是用户可以根据自己注册的一批API&#xff08;当前TOOL已经提供了几百个函数供大家使用&#xff09;&#xff0c;实现各种小程序&#xff0c;不再限制Flash里面已经下载的程序&#xff0c;就跟手机安装APP差不多&#xff0c;所以在H7-TOOL里面被广泛使用&#xff…

在矩池云使用智谱情感语音模型GLM-4-Voice,详细指南

GLM-4-Voice 是智谱 AI 推出的端到端语音模型。GLM-4-Voice 能够直接理解和生成中英文语音&#xff0c;进行实时语音对话&#xff0c;并且能够遵循用户的指令要求改变语音的情感、语调、语速、方言等属性。 本文将详细介绍&#xff0c;如何在GPU算力租赁平台矩池云上快速复现、…

MongoDB安装配置及配置和启动服务

MongoDB 安装配置 附&#xff1a;MongoDB官网下载地址&#xff1a; https://www.mongodb.com/download-center/community 注&#xff1a; 官网可以下载最新版的MongoDB安装包&#xff0c;有MSI安装版和ZIP安装版。我们课堂上使用4.4.4的ZIP安装版。安装版参考博客&#xff1…

使用rust实现类似C#中的Convert数据转换类

// 编写一个模块&#xff08;好比是C#的一个类&#xff09; pub mod Convert {// 定义函数&#xff08;好比C#中的方法&#xff09;pub fn ToInt32(s:&str) -> i32 {s.parse::<i32>().unwrap()}pub fn ToInt64(s:&str) -> Result<i64,std::num::ParseIn…

Maven入门到实践:从安装到项目构建与IDEA集成

目录 1. Maven的概念 1.1 什么是Maven 1.2 什么是依赖管理 1.3 什么是项目构建 1.4 Maven的应用场景 1.5 为什么使用Maven 1.6 Maven模型 2.初识Maven 2.1 Maven安装 2.1.1 安装准备 2.1.2 Maven安装目录分析 2.1.3 Maven的环境变量 2.2 Maven的第一个项目 2.2.1…

AUTOSAR CP 中 BswM 模块功能与使用介绍(2/2)

三、 AUTOSAR BswM 模块详解及 ARXML 示例 BswM 模块的主要功能 BswM&#xff08;Basic Software Mode Manager&#xff09;模块在 AUTOSAR 架构中扮演着模式管理的核心角色。它负责管理车辆的各种模式&#xff08;如启动、运行、停车等&#xff09;&#xff0c;并根据不同的…

stm32入门教程--ADC模拟-数字转换器

ADC&#xff08;Analog-Digital Converter&#xff09;模拟-数字转换器 ADC可以将引脚上连续变化的模拟电压转你换位内存中存储的数字变量&#xff0c;建立模拟电路到数字电路的桥梁。 12位逐次逼近型ADC&#xff0c;1us转换时间 输入电压范围&#xff1a;0-3.3V转换结果范围…