1 基本数据类型
基本数据类型 | 实例 |
---|---|
整型 | 11 |
浮点型 | 0.11 |
complex型(复数型变量) | 1+1j |
Boolean型 | Ture或者False |
String型(字符串变量) | tom |
复数型变量:数学上的i在这里用j表示,而且前面必须有系数
字符串变量,双引号单引号都可以,引号嵌套的情况下,内部就是字符的一部分
2 容器
容器类型 | 描述 | 实例 |
---|---|---|
tuple(元组) | 元组内的元素不可改变,即不可增删改查 | a = (1,2,3,4) |
list(列表) | 列表内是元素,可增删改查 | a = [1,2,3,4] |
set集合 | 无序且不重合的元素集合 | b = set([1, 1, 2, 2, 3, 3]) 结果 {1, 2, 3} |
字典 | 字典型变量,变量有很多元素,每个元素是一个key对应一个value键值对,key键不能重复,value可以重复 | xj = {1: “a”, 2: “b”} |
3常用操作符
3.1算术操作符
值得注意的是取商运算和除法运算。对于除法运算,如果除号两侧的值都是整数,那么得到的结果是一个向下取整的整数,如果其中一个是浮点数,那么得到的结果最多保留17位有效数字。
操作符 | 描述 | 实例 |
---|---|---|
+ | 加法:返回两操作数相加的结果 | 3+2返回5 |
- | 减法:返回左操作数减去右操作数的结果 | 3-2返回1 |
* | 乘法:返回两操作数想成的结果 | 3*2返回6 |
/ | 除法:返回右操作数除左操作数的结果 | 3/2返回1.5 |
% | 模:返回右操作数对左操作数取模的结果,即余数 | 5%3返回2 |
** | 指数:对操作数执行指数运算的计算 | 3**2返回9 |
// | 取商:返回右操作数对左操作数取商整数部分的结果 | 3//2返回1,3.0//2返回1.0,79//2返回39 |
赋值操作符
操作符 | 描述 | 例子 |
---|---|---|
= | 简单的赋值运算符,将右侧操作数赋值给左侧操作数 | c=a+b将a和b相加的值赋值给c |
+= | 加法AND赋值操作符,左操作数加上右操作数,并将结果赋给左操作数 | c += a相当于c = c+a |
-= | 减法AND赋值操作符,左操作数减去右操作数,并将结果赋给左操作数 | c -= a相当于 c = c-a |
*= | ||
/= | ||
%= | ||
**= | ||
//= |
比较操作符
操作符 | 描述 | 实例 |
---|---|---|
== | 如果两个操作数的值相等则返回True,否则返回False | 3 ==2 返回False |
!= | 与==相反 | 3 != 2 返回True |
<> | 与!=相同,在python3版本不能使用 | |
> | 如果左操作数大于右操作数则返回True,否则返回False | 3>2返回True |
< | ||
>= | ||
<= |
逻辑操作符
操作符 | 描述 | 实例 |
---|---|---|
and | 逻辑与操作符。当且仅当两个操作数均为真则返回真,否则返回假 | True and False返回False |
or | 逻辑或操作符 。当且仅当有两个操作数至少一个为真则返回真,否则返回假 | True or False返回True |
not | 逻辑非操作符。用于反转操作数的逻辑状态 | not True返回False |
操作符优先级
操作符 | 描述 |
---|---|
** | |
* / % // | |
+ - | |
<= < > >= | |
<>(可删去) == != | |
= %= /= //= -= += **= | |
in not in | 成员操作符 |
not or and |
3.2 数字数据
如果对象的值发生了改变,那么python会自动创建另一个对象申请另一块的内存,并改变变量的对象引用。这样做的优点是减少了重复值对内存空间的占用,而缺点则是每次修改变量都需要重新开辟内存单元,给执行效率带来影响。
>>> x = 3
>>> x
3
>>> id(x) # 查看x的内存地址,每次运行都会发生变化
140712730714832
>>> x += 2
>>> x
5
>>> id(x)
140712730714896
4 条件语句
age = 20
if age < 18:
print("未成年")
elif age > 60:
print("已退休")
else:
print("需要工作")
5 循环语句
# li 打印出100以内能被13整除的数字
for item in range(100):
if(item%13 == 0):
print(item)
for item in range(100, 13):
print(item)
a = 10
while a < 20:
a = a+1
print(a)
100以内的质数
for i in range(2, 101):
for j in range(2, i//2):
if(i%j ==0):
break
else:
print(i)
continue 和 break
continue停止当前循环,下面继续。break停止循环
6 函数
函数就是一种映射,输入一个或多个值,返回一个或多个值
输入三个变量,输出最大值
def function3(x1, x2, x3):
y1 = x1+x2+x3
y2 = x1*x2*x3
y3 = x1+x2*x3
return y1, y2, y3
a, b, c = function3(4, 5, 6)
print(a, b, c)
求水仙花数
for i in range(100, 1000):
a = i // 100
b = i // 10 % 10
c = i % 10
d = a**3 + b**3 + c**3
if(d == i):
print(i)
有64个棋盘格子,第一个放一颗米,第二个放两颗米,第n个放2**(n-1)颗米,求总共放了多少颗米
s = 0
for i in range(1, 65):
a = 2**(i-1)
s = s + a
print(s)
输入个人工资,输出个人所得税后工资
def function1(x):
if(x<=3000):
s = x*0.03
elif(x>3000 and x<=12000):
s = (x-3000)*0.1+3000*0.03
elif(x>12000 and x<=25000):
s = (x-12000)*0.2+(12000-3000)*0.1+3000*0.03
elif (x > 25000 and x <= 35000):
s = (x-25000)*0.25+(25000-12000)*0.2+(12000-3000)*0.1+3000*0.03
elif (x > 35000 and x <= 55000):
s = (x-35000)*0.3+(35000-25000)*0.25+(25000-12000)*0.2+(12000-3000)*0.1+3000*0.03
elif (x > 55000 and x <= 80000):
s = (x-55000)*0.35+(55000-35000)*0.3+(35000-25000)*0.25+(25000-12000)*0.2+(12000-3000)*0.1+3000*0.03
else:
s = (x-80000)*0.4+(80000-55000)*0.35+(55000-35000)*0.3+(35000-25000)*0.25+(25000-12000)*0.2+(12000-3000)*0.1+3000*0.03
return(x-s)
a=input("请输入税前工资数")
a = int(a)
print("税后工资数为:", function1(a))