python - 根据表达式打印真值表

[离散] 编程求命题公式真值表 [离散] 编程求命题公式真值表概述 真值表是离散数学中的一个重要概念,由真值表我们能求得任意命题公式的主析取范式和主合取范式。本文将用C语言编写一个求任意命题公式真值表的程序 阅读详情

  输入逻辑表达式,输出真值表,支持六个基本逻辑运算

最终效果:

    输入合适公式(没有考虑优先级,只根据括号优先),输出时会提取其中的元素(比如这里有A B C),并打印真值表。

 算法思路:

    求值的一般顺序是:带入每个元素的值,求出式子的真值,所以可以分为两块:1.枚举元素值(枚举) 2.根据元素值求式子值(计算)

    我认为这个的难点在于枚举,我们既要想办法提取出每一个元素,又要为其赋值(0和1)

    我们先约定好六个运算符

'''
否.......... !(非)
合取........ &(与)
可兼或...... |(或)
不可兼或.... #
由...可得... >
当且仅当.... =
'''

    并封装好这个真值表打印器 

class FindTruth:
    '''构造函数'''
    def __init__(self):

    '''输入'''
    def __In(self):

    '''枚举'''
    def __Count(self, i):

    '''计算公式结果'''
    def __Sum(self, Str):

    '''配对左右括号'''
    def __Pei(self, cur, Str):
   
    '''运算操作符'''
    def __Add(self, w, a, b = -1):

    '''输出'''
    def __Out(self):

    一,首先处理枚举:

    对于提取元素:涉及到字符串的处理以及查重,python提供了便捷的set集合来处理

    对于赋值:比如式子A|B|C,提取出ABC后,一共有从000 到 111,2^3种情况,而N个元素就有2^N种情况,显然是不能用简单的循环是实现的,这里可以用递归来处理

        a.利用set提取元素  

            set(字符串)能把字符串里每个字符提取出来,构成一个集合,而集合是不存在相同字符的,所以这里完成了筛选重复字符的工作。

            如set('A|B&C') = {'A', 'B', 'C', '|', '&'}

            seta.difference(setb)能让seta留下于setb集合中不同的元素。

            所以第二句生成了一个筛选掉运算符的元素集合,完成了元素的提取

def __In(self):
    #得到表达式Str
    self.Str = input("input your expression: \n")
    #筛出字母集合
    self.Set = set(self.Str).difference(set("()!&|>=#"))

        b.利用递归枚举赋值

            如何递归呢,这里假如有三个元素A,B,C

            递归函数有一个参数 i ,用来指定此次因该枚举哪一个元素的值,比如 i = 0, 则枚举A的值。

            首先初始化一个字典用来存储元素的值:self.dict = {'A':0, 'B':0, 'C': 0}

            第一次:{'A':0, 'B':0, 'C': 0},i = 1,所以先分别给A赋值0和赋值1,并把 i 加一,再调用枚举函数(也就是递归调用自己)。因为要调用自己两次,这里就产生了1*2 = 2个分支:

                分支1:{'A':0, 'B':0, 'C': 0},i = 1

                分支2:{'A':1, 'B':0, 'C': 0},i = 1

            第二次,i = 1,分别给B赋值0和1,在第一次的两个分支的基础上产生了2*2 = 4个分支

                分支1:{'A':0, 'B':0, 'C': 0},i = 1 

                    分支11:{'A':0, 'B':0, 'C': 0},i = 2

                    分支12:{'A':0, 'B':1, 'C': 0},i = 2

                分支2:{'A':1, 'B':0, 'C': 0},i = 1

                    分支21:{'A':1, 'B':0, 'C': 0},i = 2

                    分支22:{'A':1, 'B':1, 'C': 0},i = 2

            第三次,同理,给C赋值的时候,会产生总共4*2 = 8个分支,这时候递归枚举也结束了,我们也得到了八个枚举的结果 

A B C
0 0 0 
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1

        实现代码:

def __Count(self, i):
    '''结束条件:若最后一个元素也完成了枚举,则 打印 + 运算 '''
    if i == len(self.Lis):
        S = ''
        for l in self.Lis:
            S = S + str(self.Dic[l]) + ' '
        print(S,self.__Sum(self.Str))#调用self__Sum()函数进行运算
        return
    '''不是结尾,则赋值并调用自己,产生两个分支'''
    self.Dic[self.Lis[i]] = 0
    self.__Count(i+1)
    self.Dic[self.Lis[i]] = 1
    self.__Count(i+1)

    二,再来处理计算 __Sum(self, Str)

    计算的思路很简单,我们分别设置三个值:

        s :用来存储当前的终值,初始值设置为-1

        s0 :用来存储当前式子或元素的值

        operater :用来存储目前的操作符 

    然后一个字符一个字符地循环遍历表达式:

       例:str = 'A | (A & B) & C'   调用 __sum(self, str):

        循环1:字符 = 'A",则s = A的值

        循环2:字符 = '|',则operater = '|'

        循环3:字符 = '(',则s0 = __sum(self, ’括号内的那坨表达式‘),(这样便可利用递归简单地完成括号的处理)

                     s = (s operator s0),s0 = -1(更新s的值)

        .......

        到最后一个字符结束后,式子的值已经存储于s中了。

        实现代码:

#求公式结果
def __Sum(self, Str):
    i = 0 #字符位置
    s = -1#式子真值
    while i < len(Str):
        c = Str[i]
    #单操作符'!'要做特殊的分类处理
        if c == "!":
        #右边是字母
            if Str[i+1] in self.Set:
                c = Str[i+1]
                i = i + 1
                s0 = self.__Add('!',self.Dic[c])   
        #右边是左括号
            else:
                end = self.__Pei(i+1, Str)
                s0 = self.__Add('!', self.__Sum(Str[i+1:end+1]))
                i = end
    #字母
        elif c in self.Set:
            s0 = self.Dic[c]
    #其它运算符
        elif c in set("&|>=#"):
            operat = c
    #左括号
        elif c == '(':
            end = self.__Pei(i, Str)
            s0 = self.__Sum(Str[i+1:end])
            i = end
    #运算结果
        if s == -1:
            s = s0
            s0 = -1
        elif operat != 0 and s0 != -1:
            s1 = s
            s = self.__Add(operat, s, s0)
            operat = 0
            s0 = -1
        i = i + 1
    return s
#配对左右括号
def __Pei(self, cur, Str):
    kflag = 1  # 左括号的数目
    while not kflag == 0:
        cur = cur + 1
        if Str[cur] == '(':
            kflag = kflag + 1
        elif Str[cur] == ')':
            kflag = kflag - 1
    return cur    
#运算操作
def __Add(self, operator, a, b = -1):#b默认为-1时,表示是单操作符号' ! '
    if operator == '!':
        boo = not a
    elif operator == '&':
        boo = a and b
    elif operator == '|':
        boo = a or b
    elif operator == '#':
        boo = ((not a) or (not b)) and (a or b)
    elif operator == '>':
        boo = (not a) or b
    elif operator == '=':
        boo = ((not a) and (not b)) or (a and b)
    else:
        print("there is no such operator")
    if boo:
        return 1
    else:
        return 0

完整代码: 

# -*- coding: utf-8 -*-
'''
否.......... !
合取........ &
可兼或...... |
不可兼或.... #
由...可得... >
当且仅当.... =
'''
class FindTruth:
    def __init__(self):
        #存储字母及其真值
        self.Dic = {}
        self.Lis = []
        #输入表达式
        self.__In()
        #输出真值表
        self.__Out()
    #输入
    def __In(self):
        #得到表达式Str
        self.Str = input("input your expression: \n")
        #筛出字母集合
        self.Set = set(self.Str).difference(set("()!&|>=#"))
    #求公式结果
    def __Sum(self, Str):
        i = 0 #字符位置
        s = -1#式子真值
        while i < len(Str):
            c = Str[i]
        #单操作符'!'要做特殊的分类处理
            if c == "!":
            #右边是字母
                if Str[i+1] in self.Set:
                    c = Str[i+1]
                    i = i + 1
                    s0 = self.__Add('!',self.Dic[c])   
            #右边是左括号
                else:
                    end = self.__Pei(i+1, Str)
                    s0 = self.__Add('!', self.__Sum(Str[i+1:end+1]))
                    i = end
        #字母
            elif c in self.Set:
                s0 = self.Dic[c]
        #其它运算符
            elif c in set("&|>=#"):
                operat = c
        #左括号
            elif c == '(':
                end = self.__Pei(i, Str)
                s0 = self.__Sum(Str[i+1:end])
                i = end
        #运算结果
            if s == -1:
                s = s0
                s0 = -1
            elif operat != 0 and s0 != -1:
                s1 = s
                s = self.__Add(operat, s, s0)
                operat = 0
                s0 = -1
            i = i + 1
        return s
    #配对左右括号
    def __Pei(self, cur, Str):
        kflag = 1  # 左括号的数目
        while not kflag == 0:
            cur = cur + 1
            if Str[cur] == '(':
                kflag = kflag + 1
            elif Str[cur] == ')':
                kflag = kflag - 1
        return cur    
    #运算操作
    def __Add(self, operator, a, b = -1):#b默认为-1时,表示是单操作符号' ! '
        if operator == '!':
            boo = not a
        elif operator == '&':
            boo = a and b
        elif operator == '|':
            boo = a or b
        elif operator == '#':
            boo = ((not a) or (not b)) and (a or b)
        elif operator == '>':
            boo = (not a) or b
        elif operator == '=':
            boo = ((not a) and (not b)) or (a and b)
        else:
            print("there is no such operator")
        if boo:
            return 1
        else:
            return 0
    #输出
    def __Out(self):
        #将字母放入dict和List
        S = ''
        for c in self.Set:
            self.Dic[c] = 0
            self.Lis.append(c)
            S = S + c + ' '
        print(S, self.Str)
        self.__Count(0)
    #构造2^n的序列
    def __Count(self, i):
        #是结尾,打印 + 运算
        if i == len(self.Lis):
            S = ''
            for l in self.Lis:
                S = S + str(self.Dic[l]) + ' '
            print(S,self.__Sum(self.Str))
            return
        #不是结尾,递归赋值
        self.Dic[self.Lis[i]] = 0
        self.__Count(i+1)
        self.Dic[self.Lis[i]] = 1
        self.__Count(i+1)

if __name__ == '__main__':
    F = FindTruth()

 

真值表和真值计算 文章目录基本真值表基本语义的真值表刻画重言蕴含(重言后承)与重言等值论说形式的有效性重言蕴含重言等值可满足性可满足性可满足性的简单性质和重言蕴含的关系重言式、矛盾式、或然式三者之间的关系各语义之间的关系简化真值表方法 基本真值表 从语法角度讲,联结词是“公式函数”,即从公式集合到公式集合的函数。也就是说,对于每个联结词,每当给出公式作为输入,这个联结词确定了唯一的公式作为输出。 真值函数是从真值集到真值集的函数,也即从{T,F}到{T,F}的函数。 基本真值表如下: 我们可以用如下规则进行记忆: 一个否 阅读详情

相关推荐

python3 if语句和条件表达式

if 语句   作用:     让程序根据条件选择性的执行某条语句或某些语句   语法: if 真值表达式1:     语句块1... elif 真值表达式2:     语句块2... elif 真值表达式3:     语句块3... ... else:  语句块4...   说明: 1. 真值判断会自上而下进行,如果有一条为True则执行其中的语句,然后结果if...

ARCTERYX 7539

【命题逻辑实验题】求给定命题公式的真值表[C语言程序实现](支持蕴含式的运算)

实验一 命题逻辑:求给定命题公式的真值表 实验原理:[可忽略] 将命题公式A在所有赋值下取值情况列成表,称作A的真值表。 构造真值表的具体步骤如下: (1) 找出公式中所含的全体命题变项p1,p2,…,pn (若无下角标就按字典顺序排列),列出2n个赋值。本课程规定,赋值从00…0开始,然后按二进制加法依次写出各赋值,直到11…1为止。 (2) 按从低到高的顺序写出公式的各个层次。 (3) 对应各个赋值计算出各层次的真值,直到最后计算出公式的真值。  实验要求和说明: 本实验要求大家利用编程语言,编写程

404name的博客 1万+

离散数学大作业

1.作业要求 2.题目选择 命题公式的真值表 用户输入一个命题公式,输出该公式对应的真值表。 例如:输入(p ∨ q) → ¬r,输出: 题目描述 关于为什么选择了这个题目,最后会提到 。 3.所需解决的关键问题 4.代码 使用Python完成 注释已经给出。 import itertools from tabulate import tabulate # 导入 tabulate 用于美化表格格式 # 处理蕴含操作的函数 def handle_imp

weixin_64177791的博客 1459

第7关:求命题公式的真值表

任务描述 本关任务:编写一个程序,打印给定命题公式的真值表。 相关知识 为了完成本关任务,你需要掌握: 1.五个命题联接词的真值定义 1.列真值表时命题变元的排序顺序,真值指派的排列顺序 2.中缀式命题公式转换为后缀式命题公式 3.利用后缀式求特定真值指派下命题公式的真值 #####五个命题联接词的真值定义 为了输入方便,把教材中所使用的五个命题联接词符号(¬、 ∧、 ∨、→、↔),替换为(!、&、|、-、=)符号。其真值定义如下: #####命题变元的真值指派 设p1,p2,…,pn是出现在公式A

maduit的博客 5455

离散数学:生成真值表的实现与源代码

逻辑命题是基于变量和逻辑运算符的表达式,可以是简单的命题,也可以是由多个简单命题通过逻辑运算符组合而成的复合命题。真值组合是对逻辑命题中变量的不同取值进行组合,并计算出命题的真假。生成真值表是离散数学中重要且基础的任务,对于理解逻辑命题的真假情况和逻辑运算的规则有着重要的作用。生成真值表的目标是根据给定的逻辑命题,生成所有可能情况下的真值组合,并列出每种组合对应的结果。例如,对于命题 p ∧ q,真值表将包含四个不同的组合(p 和 q 的取值各有两种可能),并显示它们对应的结果。以上代码中,我们根据命题。

PixelDude的博客 449

一种四通道高精度IEPE加速度传感器控制器设计稿

一种四通道高精度IEPE加速度传感器控制器设计稿,颇具参考价值。

boyondmcu的博客 3853

使用python输出真值表

首先创建一个类,利用python自身的优势对表达式进行解析 # &为合取,v为析取,~为非,>为条件联结词,*为双条件联结词 class Variable: def __init__(self, value=0): self.value = value # 返回两个对象的合取 def __and__(self, other):# 对 &am...

qq_44299157的博客 6943

IEEE Access投稿全流程解析:从初次提交到最终接收的完整指南

本文详细解析了IEEE Access期刊从初次投稿到最终接收的全流程,包括ORCID注册、论文投稿七步法、回稿再投流程及最终版提交等关键步骤。特别强调了4-6周快速同行评审的特点,为研究者提供了一份实用的投稿指南,帮助高效完成IEEE Access期刊投稿。

weixin_29273849的博客 915

离散数学——python实现真值表和打印主范式

最近用python实现了真值表,经过有点儿曲折,刚开始没考虑优先级,直到前天才发现这个问题(离散数学没学好啊),用栈改了一下。话说python就是强,把列表类型当栈用,直接调用列表的pop()和append()非常方便,废话少说上代码(命令行版)。 首先是导入外部库和定义函数 #导入正则表达式re库,用来从字符串中提取信息 import re #prettytable库帮...

weixin_30699443的博客 2562

FPGA时钟架构解密:从SRCC/MRCC到全局时钟树的实战指南

本文深入解析Xilinx 7系列FPGA时钟架构,从SRCC/MRCC引脚特性到全局时钟树设计,详细介绍了BUFG、BUFMR等关键组件的应用场景和优化策略。通过对比SRCC与MRCC的驱动范围及适用场景,提供低抖动时钟布线技巧和时钟域交叉(CDC)设计方法,帮助工程师构建高性能FPGA时钟系统。

weixin_29191081的博客 1484

「离散数学」 打印任意命题公示的真值表和主范式

课本是高等教育出版社出版的《离散数学及其应用》。 程序会自动分析输入的表达式,并且列出真值表,最后打印出主析取范式和主合取范式,最多支持256 个变元。 主要用到的算法:中缀表达式转后缀表达式、后缀表达式求值还有一个二进制加法模拟。

河 的 第 三 条 岸 4541

AXI4接口说明

ACLK:全局AXI接口时钟输入(建议与系统时钟保持一致)ARESET_n:全局AXI接口复位信号,低电平有效。PS:在HBM AXI接口应用中,此复位端口仅应在数据传输开始前使用。若在传输开始后使用,会导致AXI接口与内存控制器失步(out-of-sync)。当开关启用时,IP核会将所有ARESET_n引脚内部连接在一起——因为内存作为一个整体工作。

rhtul的博客 1522

输出命题公式的真值表(后缀表达式)

1422.输出命题公式的真值表 时限:1000ms 内存限制:10000K  总时限:3000ms 描述 先输入一个正整数n(n小于等于10),表示共有n个命题变元,再输入一个类似于逆波兰表达式的字符串表示一个命题公式,约定在该字符串中用一位的十进制数表示一个命题变元,用a、o、n、i、e分别表示且、或、非、蕴含、等值,用类似于逆波兰表达式形式的字符串表示的命题公式的真值表波兰表达式(即二元...

碳酸钙的01妖精的博客 4787

《嵌入式最全面试题-Offer直通车》目录

嵌入式领域蓬勃发展,嵌入式工程师成为众多科技企业争抢的热门人才。如果你渴望在嵌入式面试中脱颖而出,成功斩获心仪的 offer,那么《嵌入式最全面试题 - Offer直通车》将是你的绝佳选择。本专栏是优快云是热门专栏,100多篇文章,总字数过百万。每月新增订阅用户过百,现在是优惠价9.9元,后面要逐渐恢复原价,早订阅早受益。本专栏精心整理了众多超万字的精华内容,总计达数十万字的嵌入式面试题总结。涵盖从嵌入式基础知识到各大厂面试真题,从驱动开发到操作系统,从硬件到软件等各个方面。

大模型大数据攻城狮的专栏 8395

YOLOv11【第三章:高阶应用与落地篇·第1节】一文搞懂,YOLOv11-Seg 实例分割:Mask 原型生成与系数预测原理解析!

🏆 本文收录于专栏 《YOLOv11实战:从入门到深度优化》。本专栏围绕 YOLOv11 的改进、训练、部署与工程优化 展开,系统梳理并复现当前主流的 YOLOv11 实战案例与优化方案,内容目前已覆盖 分类、检测、分割、追踪、关键点、OBB 检测 等多个方向。

**My Coding Family** 1248

Python 计算给定公式的真值表

在Python中,计算给定逻辑公式的真值表可以通过编写一个简单的函数来实现,该函数遍历所有可能的输入变量组合,并计算表达式的值。函数接受变量列表和表达式字典作为输入。表达式字典包含变量列表和表达式的字符串表示。函数首先生成真值表的头部,然后遍历所有可能的变量组合,使用。在实际应用中,应避免使用。你可以根据需要修改表达式和变量来计算其他逻辑表达式的真值表。函数将表达式中的变量替换为当前组合的值,并使用Python的。,或者非常小心地使用它,并确保输入是安全的。函数计算表达式的值。函数计算表达式的值。

youyouxiong的博客 902

YOLOv8魔改系列:将CIoU替换成Wise-IoU,飞速涨点

将YOLOv8中CIoU替换成Wise-IoU,实现飞速涨点

qq_66386046的博客 2678

用Python自动生成真值表:验证主合取范式结果的正确性(SymPy教程)

本文详细介绍了如何使用Python的SymPy库自动生成真值表,验证主合取范式(CNF)结果的正确性。通过实例演示了逻辑表达式的代码实现、真值表生成与CNF转换,帮助学习者高效验证离散数学中的逻辑表达式,特别适合复杂表达式处理和自动化验证场景。

weixin_30415113的博客 451

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

python输出布尔值true,打印布尔值真/假在Python中的格式()方法

I was trying to print a truth table for Boolean expressions. While doing this, I stumbled upon the following:>>> format(True, "") # shows True in a string representation, same as str(True)'Tr...

weixin_42393650的博客 1881

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

别再死记硬背了!用Python代码帮你秒懂离散数学里的命题逻辑真值表

本文通过Python代码实战解析离散数学中的命题逻辑真值表,帮助读者摆脱死记硬背的学习方式。文章详细介绍了如何用不到50行代码构建真值表生成器,并验证德摩根定律等经典逻辑规则,使抽象的数学概念变得生动易懂。

weixin_30325487的博客 369

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Python 入门手札:从 0 到会--第四天Python的基础--运算符&&表达式&&推导式

小编有感,写在最后:今日份的知识都是后面学习中特别基础的内容,几乎每次都会用到,多练练手自然就熟悉了,大家可以再找一些练习题巩固~功能:对于每一位,如果a和b的相应位不同(一个为1,另一个为0),则结果位为1,否则为0。功能:对于每一位,只要a和b中至少有一位是1,则结果位为1,否则为0。功能:对于每一位,如果a和b的相应位都是1,则结果位为1,否则为0。类似于列表推导式,但是返回的是一个生成器对象,而不是一个完整的列表。功能:对操作数a的每一个二进制位进行取反,即将1变为0,0变为1。

m0_74898821的博客 951

Python基础--语句&表达式&函数调用

语句&表达式&函数调用 1. 语句: 语句是由一些表达式组成的,通常一条语句可以独立完成一部分事情并形成结果 注:虽然多条语句写在一行内可以用分号 ; 分开,但是建议一条语句写在一行内 1. 赋值语句 语法: 变量名 赋值运算符 表达式 作用: 1、没有此变量时,创建一个变量,同时将变量绑定(bound)到表达式返回的对象上 2、变量存在时,改变此变量的关联的对象 3、用变量访问此变量关联的对象 说明:一个变量只能绑定在一个对象上,两个变量可以同时绑定在一个对象,引用计数 序列赋

庄AC的博客 919

用Python的Sympy库搞定离散数学真值表:手把手教你验证逻辑等价与推理规则

本文详细介绍了如何使用Python的Sympy库高效处理离散数学中的真值表、逻辑等价和推理规则验证。通过实际代码示例,展示了Sympy在构建真值表、验证逻辑等价以及检验推理规则方面的强大功能,帮助计算机专业学生和开发者提升逻辑运算效率,避免手工计算错误。

weixin_30500105的博客 534

别再死记硬背了!用Python快速搞定离散数学命题逻辑的真值表与范式

本文介绍如何利用Python自动化处理离散数学中的命题逻辑问题,包括真值表生成和范式转换。通过Python代码实现逻辑运算的自动化,大幅提升学习效率,特别适合计算机科学和数学专业的学生及开发者。文章还展示了使用Sympy库进行高级逻辑运算和性能优化的方法。

weixin_42535703的博客 183

Python零基础学逻辑门:从真值表到半加器的实战入门

逻辑门是数字电路的基石,本质是布尔代数在物理世界的实现,其核心原理是输入与输出之间的确定性映射关系。理解AND、OR、NOT、XOR等基础门的真值表与组合逻辑,是掌握CPU运算、硬件控制和嵌入式系统的关键前提。Python凭借无需额外依赖、环境配置极简、标准库原生支持布尔运算等优势,成为零基础学习逻辑门的理想工具——它剥离了电平、芯片、开发板等物理复杂性,直击逻辑本质。通过手工实现门电路、搭建半加器、模拟写使能(WE)信号等实践,学习者可建立‘物理信号→逻辑表达式→可执行代码’的完整认知链。本文即面向完全无

weixin_34221332的博客 396
上一篇: python - pyqt数字时钟
下一篇: python - 文件操作教程
Korpse
博客等级 码龄9年 115粉丝 25原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值