注释 # 代码分隔,继续上一行 \ 文本分隔 \n 多行文本赋值 ''' 多行语句写在一行 ; 分隔代码块 : 缩进(深度缩进) 空行(用于分割,函数与类,阅读体验好,空行也是程序的一部分) 模块
标识符:计算机语言中,允许作为名字的有效字符串集合 特殊标识符(关键字,BIFs,专用下划线标识符) 创建合法的标识符规则:第一个字符以字母或下划线开始 其他部分可以是数字,字母或下划线 大小写敏感 变量命名时建议采用驼峰表示法
常量 True、false、None 函数、类对象和模块 def , class,import,from,del,global , return , lambda 判断与循环 If,elif,else,is,in,assert , and , or , not 循环 for,while,continue,break,pass 异常 with , raise,try,except,finally,as
查看: dir(__builtins__) IO:print(), open(), input() 列表与帮助:dir()与help() 类型与身份:type(),id(),memoryview(),isinstance(), issubclass(), 数学运算类:sum,pow,round,min,max,hash等 类型转换:int,bin,hex,oct,str,float,list,bytes等 序列: len(), range(), zip(), map(),reduce(),filter(), reversed() , sorted(), enumerate()
算术运算符: +、-、*、/、//(取整)、%、**(求幂) 比较运算符: =!、==、>、>=、<、<= 赋值运算符: =、(增量赋值: +=、-=、*=、/=、**=、//=) 逻辑运算符: and/or/not 成员运算符: in/not in 身份运算符: is/is not
简单赋值(赋值符=) a=100 多重赋值 a=b=c=100 多元赋值 a,b,c=99,100,101 print(a,b,c) 变量交换赋值 a,b,c=b,c,a print(a,b,c)
一、 for迭代循环(左闭右开)
for i in range(5); print(i)
运行结果:
0
1
2
3
4
二、while条件循环 1.死循环 2. 条件循环 三、循环控制 1. break终止循环
i=0 while True: print(i) i+=1 print('break',i) if i==7:break
运行结果:
0
break 1
1
break 2
2
break 3
3
break 4
4
break 5
5
break 6
6
break 7
2.continue
for i in range(5): if i==2: continue print('For loop, ',i,' times run')
运行结果:
For loop, 0 times run
For loop, 1 times run
For loop, 3 times run
For loop, 4 times run
3.pass
for i in range(5): if i==2: pass ###################### else: print('For loop, ',i,' times run')
运行结果:
For loop, 0 times run
For loop, 1 times run
For loop, 3 times run
For loop, 4 times run
1.if
age=32 if age>18: print('you are a adult!')
运行结果:
you are a adult!
2.if else
age=32 if age>18: print('you are a adult!') else: print('you are a teenage!')
运行结果:
you are a adult!
3.if elif
l1=list('china') print(l1) for item in l1: if item=='a': print('-aaa-') elif item=='i': print('iiii') elif item=='h': print('>>>h') else: print(item)
运行结果:
[‘c’, ‘h’, ‘i’, ‘n’, ‘a’]
c
>>>h
iiii
n
-aaa-
语法: 为真时的结果 if 判定条件 else 为假时的结果
websiteUrl='julyedu.com' print('.com域名') if '.com' in websiteUrl else print('其它类型域名')
运行结果:
.com域名
不可变类型: 数值 Number 字符串 String 容器类型(可变类型): 列表 List 元组 Tuple 集合 Set 字典 Dictionary
数值类型 int整数类型 a=100;b=200 进制表示与转化 a=0b0101 #二进制,bin() b=0o0101#八进制 ,oct() c=0x0101#十六进制,hex() float("inf")#正无穷 float("-inf")#负无穷 float浮点 a=5.117 科学计数法 c=5e3 d=7e-4 complex复数
a=5+22j type(a) print(a.real,a.imag)
运行结果:
5.0 22.0
操作 数值类型间转换 绝对值、四舍五入 abs(a) round(a,1) 其他操作
1.字符串的初始化(单引与双引在表示字符串时没有区别。但字符串开头结尾必须使用同一种引号。否则报错) ‘’,“” 转义(如果是字符串包含单引或双引,则需要对其进行转义) \ 2.字符串长度 len() 3.访问 3.1访问之循环
a='china' for item in a: print(item)
运行结果:
c
h
i
n
a
3.2访问之索引(0代表第一个元素;-1代表字符串最后一个元素)
a='china' print(a[0])
运行结果:
c
3.3访问之切片(左闭右开)
a='china' print(a[1:3]) print(a[1:4]) print(a[0:-1:1]) print(a[0:-1:2]) print(a[::-1])
运行结果:
hi
hin
chin
ci
anihc
4.格式化输出 format url=' http://www.{}.Com ' companyName='xuexi' url.format(companyName) 5.拼接 url.format(companyName)+' 人工智能' url.format(companyName)*3 6.查找与替换 url=url.format(companyName)+' AI交流平台 ' url.find('http') print(url.replace('AI','人工智能')) 注意,repalce并不改变字符串原来的内容。 print(url) 7.统计 url.count('t') 8.获取索引 url.index('智') 9.大小写 url.title()#首字母大写 url.upper()#全部字母大写 url.lower()#全部字母小写 10.去空格 url.lstrip() url.rstrip() url.strip() 11.编码与解码 encode 12.其他操作dir()
一、求从1到100的数字中所有能被3整除的数字的有哪些
for i in range(1,101): if(i%3==0 and i%5==0): print(i)
运行结果:
15
30
45
60
75
90
二、输入一个字符串返回满足以下条件的字符串
要求:
s=input() if len(s)>=3: if s.endswith('ing'): s+='ly' else: s+='ing' else: pass print(s)
运行结果:
interest
interesting
三、判断是否为回文
输入一个数字,如果是回文数字,返回True,否则 返回False
回文:62426是回文数字
x=input() if x==x[::-1]: print('True') else: print('False')
运行结果:
62426
True
四、输入一个字符串,返回满足以下条件字符串
要求:
1.找到字符串中的子串 ‘not’ 和 'bad’
2.如果 ‘bad’ 出现在 ‘not’ 后面,就把 ‘not’ … ‘bad’ 之间包含的所有字符串替换成 ‘good’
a='Study is not only to learn, actually i think this is a bad way. ' if a.find('bad')>a.find('not'): b=a[0:a.find('not')]+' good '+ a[a.find('bad'):] print(b)
运行结果:
Study is good bad way.
五、输入一个字符串,把字符串拆分成两个等分
要求:
1.如果字符串长度是偶数,前一半和后一半的长度是相同的
2.如果字符串长度是奇数,则多出的一个字符加到前一半,如:‘abcde’,前一半是’abc’,后一半是’de’
s=input() splitpoint=len(s)//2 if len(s)%2==0: s1=s[0:splitpoint] s2=s[splitpoint:] else: s1=s[0:splitpoint+1] s2=s[splitpoint+1:] print(s1,'---',s2)
运行结果:
abcde
abc — de
六、输入一个字符串返回满足以下条件的字符串
要求:
1.找出与字符串的第一个字母相同的字母,把它们替换成 ‘*’,除了第一个字母本身以外
2.例如: 输入’babble’, 返回 'ba**le’
s=input() firstletter=s[0] s=s.replace(firstletter,'*') s=firstletter+s[1:] print(s)
运行结果:
babble
ba**le
七、输入一个字符串,返回满足以下条件的字符串
要求:
1.由字符串的最前面两个字母和最后两个字母组成的字符串。
2.例如: ‘spring’ 返回 ‘spng’, ‘is’ 返回 'is’
3.当输入的字符串长度小于2时,返回空字符串
s=input() if len(s)>2: s1=s[0:2]+s[-2:] else: s1='' print(s1)
运行结果:
spring
spng
八、输入字符串 a 和 b,返回添加以下条件的字符串
要去:
1.交换两个字符串的最前面的两个字母
2.使用空格把两个字符串分隔后合并成一个字符串
3.字符串 a 和 b 的长度都大等于2
a=input() b=input() if len(a)>2 and len(b)>2: a,b=b[0:2]+a[2:],a[0:2]+b[2:] print(a+' '+b) else: print('the input string is too short')
运行结果:
abcdefg
hijklmn
hicdefg abjklmn
a
b
the input string is too short
九、落球计算
一球从100米高度自由落下,假设每次落地后反跳回原高度的一半;再落下,再弹起。请问第6次落地后会弹起多少米?
要求:请分别使用for循环与while循环。并使用break与contiune流程控制关键字
height=100 i=1 while True: height*=0.5 i+=1 if i>6:break print('while loop:',height) height=100 i=1 for i in range(1,7): height*=0.5 if i<6: continue else: print('for loop:',height)
运行结果:
while loop: 1.5625
for loop: 1.5625
十、求两个数字之间的素数
素数:只能被1及自己整除的数,如3,7,13,23等
a=int(input()) b=int(input()) for i in range(a,b+1): for j in range(2,i+1): if i%j==0 and j<i: print(i,'非素数') break elif j==i: print(i,'素数')
运行结果:
6
33
6 非素数
7 素数
8 非素数
9 非素数
10 非素数
11 素数
12 非素数
13 素数
14 非素数
15 非素数
16 非素数
17 素数
18 非素数
19 素数
20 非素数
21 非素数
22 非素数
23 素数
24 非素数
25 非素数
26 非素数
27 非素数
28 非素数
29 素数
30 非素数
31 素数
32 非素数
33 非素数