目录
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 例:九九乘法表
定义:程序从上到下顺序的执行代码,中间没有任何判断和跳转,直到程序结束
python一切皆对象,所有对象都有一个布尔值,使用内置函数bool()获取
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
money=1000
DM=int(input('请输入取款金额'))
if money>=DM:
money=money-DM
print('取款成功,你的余额为:',money)
else:
print('余额不足')
weight=int(input('请输入体重(Kg):'))
if weight>100:
print('肥胖')
elif weight>80 and weight<=100:
print('偏胖')
elif weight>60 and weight<=80:
print('正常体重')
else:
print('营养不良')
money=int(input('请输入消费金额:'))
vip=input('您是会员吗:')
if vip=='是':
if money>=500:
money*=0.7
print(money)
else:
money*=0.8
print(money)
else:
money*=0.9
print(money)
注:pass语句
(1)pass语句:pass语句什么都不做,只是一个占位符,用在语法上需要语句的地方
(2)什么时候用:先搭建语法结果,还没想好代码怎么写
(3)哪些语句一起使用:
- if的条件执行体
- for-in语句的循环体
- 定义函数是的函数体
(4)例如:上面的会员结账程序,当我们没有想好执行体的代码时可以用pass语句占位,程序可以运行且不报错
money=int(input('请输入消费金额:')) vip=input('您是会员吗:') if vip=='是': pass else: pass
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))
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
a=1
while a<10:
a+=1
print(a)#结果:10
i=1
sum=0
while i<=100:
if bool(i%2==0):
sum = sum + i
else:
sum=sum+0
i+=1
print(sum)#结果:2550 偶数和
i=1
sum=0
while i<=100:
if not bool(i%2==0):#只需在这做修改即可改为奇数和
sum = sum + i
else:
sum=sum+0
i+=1
print(sum)#结果:2500 奇数和
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
else:
sum+=0
print(sum)
#1.
for i in range(100,1001):
a=i%10
b=int(i/10)%10
c=int(i/100)
if a**3+b**3+c**3==i:
print(i)
#2.
for i in range(100,1001):
a=i%10
b=i//10%10
c=i//100
if a**3+b**3+c**3==i:
print(i)
break:用于结束循环,通常与分支结构if一起使用
for i in range(10):
if i==3:
break
print(i)#输出0,1,2
#从键盘录入密码,最多输入三次
count=2
my_password='123'
password=input('请输入密码')
while True:
if my_password==password:
print('登录成功')
break
else:
if count>3:
break
else:
password = input('请输入密码')
count+=1
continue:结束当前循环
for i in range(10):
if i==4:
continue
print(i)
#输出1到50,5的倍数
for i in range(1,51):
if bool(i%5!=0):
continue
print(i)
#输出1到50,不是5的倍数
for i in range(1,51):
if not bool(i%5!=0):
continue
print(i)
#从键盘录入密码,最多输入三次
password='123'
pwd = input('请输入密码')
for i in range(3):
if(pwd==password):
print('登录成功')
break
else:
pwd = input('请输入密码')
else:
print('对不起,三次密码输入错误')#在循环语句执行完后执行else
for i in range(1,10):
for j in range(1,i+1):
print(str(j)+'*'+str(i)+'='+str(i*j),end='\t')#不换行输出
print()
运行结果: