掌握数据类型之间的相互转换丨掌握eval()函数的使用丨了解不同的进制数丨掌握Python中常用的运算符及优先级

  • 掌握数据类型之间的相互转换

    • 类型转换

      • 隐式转换

        • 在进行运算时,自动就转类型了
      • 显式转换

        • int(x) 将x转换为整数类型
          • print(int('3.14')) 会报错,因为3.14包含小数点,应先转换为浮点数
          • 当你运行 num = int(5.1) ,Python 会执行类型转换,把浮点数 5.1 转换成整数
            • num=int(5.1)
            • print(num)
        • float(x) 将x转换为浮点数类型
        • str(x) 将x转成字符串
        • chr(x) 将整数 x转换为一个字符
        • ord(x) 将一个字符x转换为其对应的整数值
        • hex(x) 将一个整数 x转换为一个十六进制字符串
        • oct(x) 将一个整数 x转换为一个八进制字符串
        • bin(x) 将一个整数 x转换为一个二进制字符串
  • 掌握eval()函数的使用

    • 内置函数,用于去掉字符串最外侧的引号,并按照Python语句方式执行去掉引号后的字符串
    • eval()函数经常和input()函数一起使用
      • 用来获取用户输入的数值
    • eval的语法格式,变量=eval(字符串)
  • 了解不同的进制数

    • 整数类型有四种表示形式:二进制、八进制、十进制和十六进制
  • 掌握Python中常用的运算符及优先级

    • 算术运算符

      • 优先级:幂运算>乘除>加减(有括号先算括号)

    • 赋值运算符

      • 简单的赋值运算

        • 运算符 =
        • 示例:x=y
        • 展开形式:x=y
      • 扩展的赋值运算符

        • 加赋值
          • 运算符 +=
          • 示例:x+=y
          • x=x+y
        • 减赋值/乘赋值/除赋值/取余赋值/幂赋值/整除赋值

      • Python支持链式赋值(一连串赋值)
        • a=b=c=100 # 相当于执行a=100 b=100 c=100
      • 支持系列解包赋值
        • a,b=10,20 # 相当于执行了a=10, b=20
        • 如何交换两个变量的值 a,b=b,a
    • 比较运算符(关系运算符)

    • 逻辑运算符

    • 位运算符和运算符的优先级

      • 位运算符:把数字看作二进制来进行计算
      • 运算符的优先级
  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用栈来计算表达式的值。具体步骤如下: 1. 将表达式字符串转换为后缀表达式(也叫逆波兰表达式),可以使用栈来实现。 2. 计算后缀表达式的值,同样可以使用栈来实现。 下面是具体的实现代码: ```python # 定义运算符优先级 priority = {'+': 1, '-': 1, '*': 2, '/': 2} # 将缀表达式转换为后缀表达式 def infix_to_postfix(s): postfix = [] # 存储后缀表达式 stack = [] # 存储运算符的栈 for c in s: if c.isdigit(): # 如果是数字,直接加入后缀表达式 postfix.append(c) elif c in priority: # 如果是运算符 # 将栈优先级大于等于该运算符运算符弹出并加入后缀表达式 while stack and priority.get(stack[-1], 0) >= priority[c]: postfix.append(stack.pop()) stack.append(c) # 将该运算符加入栈 elif c == '(': # 如果是左括号,直接加入栈 stack.append(c) elif c == ')': # 如果是右括号,将栈运算符弹出并加入后缀表达式,直到遇到左括号 while stack and stack[-1] != '(': postfix.append(stack.pop()) stack.pop() # 弹出左括号 # 将栈剩余的运算符弹出并加入后缀表达式 while stack: postfix.append(stack.pop()) return postfix # 计算后缀表达式的值 def evaluate_postfix(postfix): stack = [] # 存储操作数的栈 for c in postfix: if c.isdigit(): # 如果是数字,将其转换为整数并加入栈 stack.append(int(c)) else: # 如果是运算符,弹出栈顶的两个操作数行计算,并将结果加入栈 b = stack.pop() a = stack.pop() if c == '+': stack.append(a + b) elif c == '-': stack.append(a - b) elif c == '*': stack.append(a * b) elif c == '/': stack.append(a // b) return stack.pop() # 测试 s = '9*7+12-5' postfix = infix_to_postfix(s) result = evaluate_postfix(postfix) print(result) # 输出:70 ``` 这里使用了两个栈,一个用来转换缀表达式为后缀表达式,另一个用来计算后缀表达式的值。缀表达式转换为后缀表达式的过程,遇到数字直接加入后缀表达式,遇到运算符则将栈优先级大于等于该运算符运算符弹出并加入后缀表达式,最后将该运算符加入栈。遇到左括号直接加入栈,遇到右括号将栈运算符弹出并加入后缀表达式,直到遇到左括号。计算后缀表达式的值时,遇到数字直接加入操作数栈,遇到运算符则弹出栈顶的两个操作数行计算,并将结果加入栈。最后操作数栈只剩下一个元素,即为表达式的值。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值