变量
Python变量有一个非常重要的性质:变量是将名字和对象关联起来。赋值操作并不会实际复制值,它只是为数据对象取个相关的名字。名字是对象的引用而不是对象本身。'='不是运算符,没有结合性。
id()
是Python的内置函数,显示对象的地址
x=3 x=7 操作完id会变
输入输出
input()
input()从键盘输入字符串一整行,故返回的是str类型
a=int(input())
输入一个整数(但这一行只能有一个整数)
a,b=input().split()
split默认按照空格分割,得到两个字符串
如果写s=input.split()
,默认是一个str类型的list. 如何转成int?可以一个一个转,也可以用==a,b=map(int,input().split())
的方法==
print()
默认带换行 不换行的写法:
格式化输出:
- 都转成str,再用+
- 用格式化字符串print("%d + %d"%(a,b))
- format
数据类型
整数int
0b或0B 代表二进制 0o或0O 代表八进制 0x 或0X 代表十六进制 自带高精度
注意负数取整
-4/3 =-1.33
-4//3=-2
(小于等于-1.33的数
类型转换用int(x)
浮点数float
和C,C++类似 注意不整除时/自动转成float
复数
字符串str
注意类型名是str不是string
用+
连接
s*n表示x重复n次
列表
列表可以由零个或多个元素组成,元素之间用逗号分开,整个列表被方括号所包裹 下标从0开始
初始化
成员函数
判断是否存在用count
cnt.count(x)#计数
cnt.index(x)#获得元素位置
len(cnt) #获得大小
for x in a: #只读
for i in range(0,len(a),1): #修改
a.sort() #排序
比较大小,加法
[重要!]列表复制
列表是从0开始计数的
列表的负下标表示从后往前数i个(从1开始)
a = [0,1,2,3,4,5,6,7,8,9],a[-1]=9,a[-2]=8
b = a[i:j]
表示复制a[i]到a[j-1],以生成新的list对象
案例:
a = [0,1,2,3,4,5,6,7,8,9] #a[-1]=9,a[-2]=8
b = a[1:3] # [1,2]
注意
当i缺省时,默认为0,即 a[:3]相当于 a[0:3]. (注意下标从0开始)
当j缺省时,默认为len(alist), 即a[1:]相当于a[1:10]
当i,j都缺省时,a[:] 就相当于完整复制一份a
b = a[i:j:s]
表示:i,j与上面的一样,但s表示步进,缺省为1.
所以 a[i:j:1] 相当于 a[i:j]
注意
当s<0时,i缺省时,默认为-1. j缺省时,默认为-len(a)-1
所以a[::-1]相当于 a[-1:-len(a)-1:-1],也就是从最后一个元素到第一个元素复制一遍,即倒序
总结倒序a[::-1],正序a[:]
,负下标表示循环
语句
赋值
多变量赋值(特有语法)
[重要!]循环
range(a,b)表示a,a+1...b-1
range(n)
表示0,1,2...n-1
for i in range(0,10,1)
= C语言的for(i=0;i<10;i++)
.
- 记得写range,左闭右开!!!!,注意range实际上返回一个list
for i in A
for i in range(1,n+1,1)
访问[1,n]
函数
import math
def isPrime(n):
if(n<=1): return 0
if(n==2): return 1
for i in range(2,int(math.sqrt(n))+1,1):#注意开区间
if(n%i==0): return 0
return 1
if __name__ == "__main__":
n=int(input())
while(n>0):
x=int(input())
if(isPrime(x)): print("Yes")
else: print("No")
n-=1
列表推导式
列表推导式是从一个或者多个列表快速简洁地创建列表的一种方法,又被称为列表解析。它可以将循环和条件判断结合,从而避免语法冗长的代码,同时提高程序性能。 [ expression for item in iterable ] 输出表达式 变量
带条件的列表推导
[i if i%4==1 else –i for i in range(1,50) \
if i %2==1]
[1, -3, 5, -7, 9, -11, 13, -15, 17, -19, 21, -23, 25, -27, 29, -31, 33, -35, 37, -39,41, -43, 45,
-47, 49]
math模块是python语言的内置模块。
舍入函数round(x,n)
表示把x四舍五入到小数点第n位
math
要使用math库,必须把语句import math放在源程序的第一行。[F]
不需要第一行
math.pi math.sqrt() math.sin() 注意输入是弧度制。 math.log 相当于\(\ln\)