Python 0910
一.运算符
运算符、变量:存储的是数据对应的内存地址 基本数据类型 int float bool str
"" '' """ """ bool :默认所有的非0数字都是True int(True) 1
算数运算符
= :赋值运算符 a+=1 a = a + 1 -=
比较运算符 最终的结果是布尔值
等于 ==
print(256==256)
不等于 !=
print(1 != 1)
print(2>1)
print(2>=1)
print(2<1)
print(2<=1)
逻辑运算符 and:逻辑与 两边为真才为真 or:一真则真 not:取反
print(2>1 and 1==2)
print(2>1 or 1==2)
print(not 2>1)
成员运算符 检测某个数据是否在某个序列中 [1,2,3,4] in not in
print("zhangsan" not in [2,3])
位运算符 二进制的运算 0 1 半导体 二极管
10+11
0000 1010
0000 1011
----------
0001 0101
5+(-4)
数据的二进制的最左边第一个二进制位作为符号位 1 负数 0 正数
1000 0100
0000 0101
---------
1000 1001 -9
科学家 原码 反码 补码 负数基于补码的运算
原码:十进制数字对应的二进制表示
反码 : 符号位不变,其余为取反
补码 = 反码+1
& 按位与 两位都为1,则为1
print(10 & 4)
| 有1则1
print(10 | 4)
0000 1010
0000 0100
--------
0000 1110
^ 不相同,则为1
print(10^11)
0000 1010
0000 1011
----------
0000 0001
~:按位取反 对数据中所有的二进制位全部取反
<< 不需要考虑符号位的,左移几位,右边补几个0
>> 考虑符号位,如果本身是负数,则右移之后,左边补1 本身是正数,则补0
1000 1000
1111 0111
1111 1000
1111 1110
1111 1101
1000 0010
print(11>>2)
print(-8>>2)
5 + -4
-127 --- 127 254 -0:-128
11111111 255 254 1000 0000 (-0) 0000 0000(+0)
身份运算符 is is not
a = "zhangsan !"
b = "zhangsan !"
print(a == b)
print(a is b)
print(id(a),id(b))
is 判断内存地址是否相同的 == 判断值是否相同的
小整数常量池 : python优化,吧常用的数值存储再常量池中,代码中但凡用到,都是同一个内存地址 -5~256
字符常量池 : 长度较短,没有特殊字符,没有空格的字符串,也会存储再常量池中。
简单的计算器 用户输入num1、num2和运算符(+|- * / ) 你返回 a+b=c类型的打印
eval()函数 把用字符串表示大的python表达式执行
num1 = input("请输入num1:")
num2 = input("请输入num2:")
a = input("+ - * /")
c = eval(num1+a+num2)
print(num1,a,num2,"=",c)
二. 字符串的格式化输出
a + b = a+b
练习题:
案例2:员工输入了自己的工资金额,要求判断按照当前RMB面额,给员工以最少的钞票数量进行之付
> 用户输入:5399
>
> 输出:x张100,y张50,z张20, m张10,n张5,o张1块
>
> 要求:支付钞票数量最少
// %
money = int(input("请输入工资数额:"))
5399//100 53
5399 % 100 = 99
99 // 50 = 1
99 % 50 = 49
b = money // 100
w = (money%100)//50
er = ((money%100)%50) // 20
shi = (((money%100)%50)%20)//10
yi = ((((money%100)%50)%20)%10)//1
print(f"{b}张100,{w}张50,{er}张20,{shi}张10,{yi}张1")
字符串的格式化输出
username=input("请输入用户名:")
passwd=int(input("请输入密码:"))
print("用户名是:",username,",mima是:",passwd)
%操作符
%s 字符串 %d 整数 %f 浮点数
print("用户名是:%s,密码是:%.2f"% (username,passwd))
print("用户名是:{0},密码是:{1},确认密码:{1}".format(username,passwd))
print(f"用户名是:{username},mima是:{passwd}") 推荐使用