目录
python一切皆对象,所有的对象都有一个布尔值,使用内置函数bool()获取。
一. 顺序结构
顺序结构的程序设计是最简单的,只要按照解决问题的顺序写出相应的语句就行,它的执行顺序是自上而下,依次执行。 ————百度百科
二. 分支(选择/条件)结构
1. 前提准备:
python一切皆对象,所有的对象都有一个布尔值,使用内置函数bool()获取。
以下对象的布尔值为False:
1.False 2.数值0 3.None 4.空字符串
5.空列表 6.空元素 7.空字典 8.空集合
print(bool(False)) #False
print(bool(0)) #False
print(bool(0.0)) #False
print(bool(None)) #False
print(bool('')) #False
print(bool("")) #False
print(bool([])) #False -- 空列表
print(bool(list())) #False -- 空列表
print(bool(())) #False -- 空元组
print(bool(tuple())) #False -- 空元组
print(bool({})) #False -- 空字典
print(bool(dict())) #False -- 空字典
print(bool(set())) #False -- 空集合
#除此之外其他对象的布尔值均为True
print(bool(18)) #True
print(bool('hello world')) #True
2. 分支/选择/条件结构
-
2.1 if单分支语句
if 10>2
print(10>2)
-
2.2 if-else多分支结构
if 10>2
print('10是大于2的')
else
print('10没有大于2')
-
2.3 多分支结构
count=200
if count<100:
money=count
elif count>=100 and count<=300:
money=count*1.2
else:
money=count*1.5
-
2.4 嵌套if
a,b,c=10,20,30
if a>b :
if b>c :
print('a>b>c')
elif a>c and c>b :
print('a>c>b')
else:
print('c>a>b')
else:
if a>c :
print('b>a>c')
elif b>c and c>a :
print('b>c>a')
else:
print('c>b>a')
-
2.5 条件表达式
条件表达式(if-else的简写):
X if 判断条件 else Y( 若条件判断为真则返回X,否则返回Y)
a=int(input('请输入第一个整数'))
b=int(input('请输入第二个整数'))
#原先的
if a>=b :
print(a,'大于等于',b)
else:
print(a,'小于',b)
#条件表达式:
print(str(a)+'大于等于'+str(b) #数字和字符串不能同时输出
if a>=b
else
str(a)+'小于'+str(b))
3. pass语句
什么都不做,就占位符,用在语法上需要语句的地方。
常在这里出现:1.if语句的条件执行体 2.for-in语句的循环体 3.定义函数时的函数体
三. 循环结构
1. 内置range()函数
用于生成一个整数序列。返回值是一个迭代器对象。
优点:不管range对象表示的整数序列有多长,所以range对象占用的内存空间都是相同的,因为仅仅需要存储start、stop、step,只有当用到range对象时,才会去计算序列中的相关元素。
in 和 not in 判断整数序列中是否存在(不存在)指定的整数
#range()的三种创建方式
#1.只有一个参数range(stop)
r=range(10)
print(r)
#结果:range(0, 10) 注:返回值是一个迭代器对象,看不到序列中具体的数据
print(list(r))
#结果:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 注:如果想查看具体数据需要用list()列表来查看
#总结:只有1个参数,默认从0开始,到stop结束,步长为1
#2.有俩个参数range(start,stop)
r=range(2,10)
print(list(r))#结果:[2, 3, 4, 5, 6, 7, 8, 9]
#总结:有俩个参数,从strat开始,stop结束,步长为1
#3.有三个参数range(start,stop,step)
r=range(2,10,2)
print(list(r))#[2, 4, 6, 8]
#总结:有三个参数,从strat开始,stop结束,步长为2
#判断指定的整数在序列中是否存在
print(10 in r) 结果为False
print(9 in r) 结果为True
2. while循环
while 条件表达式 :
条件执行体(循环体)
i=1
sum=0
while i<=100:
if bool(i%2==0):
sum = sum + i
i+=1
print(sum) #结果:2550
#两者不同,python用对齐表示并列情况
3. for-in循环
in表达从(字符串,序列等)中依次取值,又称遍历
for-in遍历的对象必须是可迭代对象
arr='hello world'
for item in arr : #从arr中取出的值依次赋值给item
print(item)#输出item中的值
for i in range(10) :
print(i) #依次输出range()中的数
#在循环体中不需要使用自定义变量时,可将自定义变量写为“_”
for _ in range(5) :
print('人生苦短,我爱python') #结果输出5次,人生苦短,我爱python
#使用for-in循环输出1-100的中的偶数和
sum=0
for i in range(1,101) :
if(bool(i%2==0)) :
sum+=i
print(sum)
4. break、continue、else语句
4.1 break非正常结束循环
4.2 continue结束当前循环,进入下一次循环
4.3 else
if 和 else搭配:条件成立执行if,不成立执行else
else 和 while 或 for-in搭配:没有碰到break时执行else
#输入密码,最多输入三次
password='8888'
pwd = input('请输入密码')
for i in range(3):
if(pwd==password):
print('密码正确')
break
else:
pwd = input('密码不正确')
else:
print('对不起,三次密码均输入错误')
#在循环语句执行完后没有遇见break便执行else
5. 嵌套循环
5.1 例:打印三行四列矩形
for i in range(1,4) #行
for j in range(1,5) #列
print('*',end='\t') #不换行输出,制表符格式输出
print() #打行
5.2 例:九九乘法表
for i in range(1,10):
for j in range(1,i+1):
print(str(j)+'*'+str(i)+'='+str(i*j),end='\t') #不换行输出
#或者
#print(i,'*',j,'=',i*j,end='\t')
print()
如果输出完全不需要换行什么的,end=''便可以!!