目录
1.顺序结构
2.选择结构(if语句)
2.1 前言:在条件判断时可能用到的知识
2.2 正文:
2.2.1 if单分支语句,if else双分支语句
2.2.2 多分支语句
2.2.3 嵌套if
2.2.4 条件表达式
3.循环结构(while语句,for-in语句)
3.1 range()函数的使用
3.2 while循环
3.2.1 例:输出100以内的偶数和
3.3 for-in循环
3.3.1 例:1到1000内的水仙花数
3.4 break,continue语句
3.4.1 例:输入密码登录,最多尝试三次
3.4.2 例:输出1到50所有5的倍数
3.5 else语句
3.5.1 例:输入密码登录操作
3.6 嵌套循环
3.6.1 例:九九乘法表
1.顺序结构
定义:程序从上到下顺序的执行代码,中间没有任何判断和跳转,直到程序结束
2.选择结构(if语句)
2.1 前言:在条件判断时可能用到的知识
python一切皆对象,所有对象都有一个布尔值,使用内置函数bool()获取
print(bool(False))#Falseprint(bool(0))#Falseprint(bool(0.0))#Falseprint(bool(None))#Falseprint(bool(''))#Falseprint(bool(""))#Falseprint(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
2.2 正文:
2.2.1 if单分支语句,if else双分支语句
money=1000DM=int(input('请输入取款金额'))if money>=DM:money=money-DMprint('取款成功,你的余额为:',money)else:print('余额不足')
2.2.2 多分支语句
weight=int(input('请输入体重(Kg):'))if weight>100:print('肥胖')elif weight>80 and weight<=100:print('偏胖')elif weight>60 and weight<=80:print('正常体重')else:print('营养不良')
2.2.3 嵌套if
money=int(input('请输入消费金额:'))vip=input('您是会员吗:')if vip=='是':if money>=500:money*=0.7print(money)else:money*=0.8print(money)else:money*=0.9print(money)
注:pass语句
(1)pass语句:pass语句什么都不做,只是一个占位符,用在语法上需要语句的地方
(2)什么时候用:先搭建语法结果,还没想好代码怎么写
(3)哪些语句一起使用:
if的条件执行体for-in语句的循环体定义函数是的函数体
(4)例如:上面的会员结账程序,当我们没有想好执行体的代码时可以用pass语句占位,程序可以运行且不报错
money=int(input('请输入消费金额:'))vip=input('您是会员吗:')if vip=='是':passelse:pass
2.2.4 条件表达式
num_a=input('请输入第一个数:')num_b=input('请输入第二个数:')'''if num_a>=num_b:print(num_a,'大于等于',num_b)else:print(num_a,'小于',num_b)'''#简写为条件表达式print(str(num_a)+'大于等于'+str(num_b) if num_a>=num_b else str(num_a)+'小于'+str(num_b))
3.循环结构(while语句,for-in语句)
3.1 range()函数的使用
range()函数:用于生成一个整数序列
优点:不管range对象表示的整数序列有多长,所以range对象占用的内存空间都是相同的,因为仅仅需要存储,start,stop,step
#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
3.2 while循环
3.2.1 例:输出100以内的偶数和
a=1while a<10:a+=1print(a)#结果:10i=1sum=0while i<=100:if bool(i%2==0):sum = sum + ielse:sum=sum+0i+=1print(sum)#结果:2550 偶数和i=1sum=0while i<=100:if not bool(i%2==0):#只需在这做修改即可改为奇数和sum = sum + ielse:sum=sum+0i+=1print(sum)#结果:2500 奇数和
3.3 for-in循环
in表达(字符串,序列等)中依次取值,又称遍历for-in遍历的对象必须是可迭代对象arr='hello world'for item in arr: #从arr中取出的值依次赋值给itemprint(item)#输出item中的值for i in range(10):print(i)#依次输出range()中的数#在循环体中不需要使用自定义变量时,可将自定义变量写为“_”for _ in range(5):print('人生苦短,python是岸')#结果输出5次,人生苦短python是岸#使用for-in循环输出1-100的中的偶数和sum=0for i in range(1,101):if(bool(i%2==0)):sum+=ielse:sum+=0print(sum)
3.3.1 例:1到1000内的水仙花数
#1.for i in range(100,1001):a=i%10b=int(i/10)%10c=int(i/100)if a**3+b**3+c**3==i:print(i)#2.for i in range(100,1001):a=i%10b=i//10%10c=i//100if a**3+b**3+c**3==i:print(i)
3.4 break,continue语句
break:用于结束循环,通常与分支结构if一起使用
for i in range(10):if i==3:breakprint(i)#输出0,1,2
3.4.1 例:输入密码登录,最多尝试三次
#从键盘录入密码,最多输入三次count=2my_password='123'password=input('请输入密码')while True:if my_password==password:print('登录成功')breakelse:if count>3:breakelse:password = input('请输入密码')count+=1
continue:结束当前循环
for i in range(10):if i==4:continueprint(i)
3.4.2 例:输出1到50所有5的倍数
#输出1到50,5的倍数for i in range(1,51):if bool(i%5!=0):continueprint(i)#输出1到50,不是5的倍数for i in range(1,51):if not bool(i%5!=0):continueprint(i)
3.5 else语句
if 和 else搭配:条件成立执行if,不成立执行elseif 和 while 或for-in搭配:没有碰到break时执行else3.5.1 例:输入密码登录操作
#从键盘录入密码,最多输入三次password='123'pwd = input('请输入密码')for i in range(3):if(pwd==password):print('登录成功')breakelse:pwd = input('请输入密码')else:print('对不起,三次密码输入错误')#在循环语句执行完后执行else
3.6 嵌套循环
3.6.1 例:九九乘法表
for i in range(1,10):for j in range(1,i+1):print(str(j)+'*'+str(i)+'='+str(i*j),end='\t')#不换行输出print()
运行结果: