1.顺序结构
注:计算机的流程控制:顺序结构、选择结构、循环结构
程序从上向下执行,直到结束.
print('------程序开始------')
print('1.把冰箱门打开')
print('2.把大象放在冰箱里')
print('3.把冰箱门关上')
print('------程序结束------')
结果:
对象的布尔值:
注:对象的布尔值常常用于条件判断.
2.选择结构
1).单分支结构
money = 1000
s = int(input("请输入取款金额"))
#判断余额是否充足
if money >= s:
money = money - s
print('取款成功,余额为:',money)
结果:
2).双分支结构
money = 1000
s = int(input("请输入取款金额"))
#判断余额是否充足
if money >= s:
money = money - s
print('取款成功,余额为:',money)
else:
print('钱不够!')
结果:
3).多分支结构
score = int(input('请输入一个成绩:'))
if score >= 90 and score <= 100:
print("A")
elif score >= 80 and score <= 89:
print("B")
elif score >= 60 and score <80:
print("C")
else:
print('不合格!')
结果:
4).嵌套if
answer = input("你是会员吗?")
money = float(input("请输入购物金额:"))
if answer == 'y':
if money >= 200:
print("付款金额为:",money*0.8)
elif money >= 100:
print("付款金额为:", money * 0.9)
else:
print("不打折,付款为:",money)
else:
print("不是会员,付款为:",money)
结果:
3.pass语句
用于当没想好怎么写,而想去写后面的代码的时候,用于占位,让程序正常运行.
answer = input("你是会员吗?")
if answer = 'y':
pass
else:
pass
4.range()函数的使用
这是一个内置函数.
注:内置函数:前面不需要加前缀就能使用的函数.
第1种创建方式:只给一个参数
r = range(10) #默认从0开始,默认步长为1
print(r)
print(list(r))
结果:
第二种创建方式:给两个参数
r = range(1,10) #从1开始,默认步长为1
print(r)
print(list(r))
结果:
第三种方式:给三个参数
r = range(1,10,2) #从1开始,步长为2
print(r)
print(list(r))
结果:
判断指定的数是否在序列中,用in,not in.
r = range(1,10,2) #从1开始,步长为2
print(r)
print(list(r))
print(10 in r)
print(5 in r)
结果:
5.循环结构
有两种类型:while、for
1).while循环
a = 1
while (a < 10):
print(a,end=' ')
a += 1
结果:
案例:求解0到5的累加和.
a = 0 # 初始化变量为0
sum = 0 #存储累加和的变量
while a < 5:
sum += a # 循环体
a += 1 # 改变变量用于结束循环
print('1到5的累加和为:',sum)
结果为:
练习:计算1到100之间偶数的和.
i = 1
sum = 0
while i <= 100:
if i % 2 == 0:
sum += i
i += 1
print("1到100之间偶数的累加和:",sum)
结果为:2550
另一答案:
i = 1
sum = 0
while i <= 100:
if not bool(i % 2):
sum += i
i += 1
print("1到100之间偶数的累加和:",sum)
解释:结合对象的布尔值,因为bool(i % 2)使得i为偶数时,布尔值为0,取反,即not bool(i %2)为1.
2).for循环
for item in 'python':
print(item)
结果:
如果在循环体中不需要用到自定义的变量,可以将自定义变量写为'-'.
for _ in range(5):
print("人生苦短,我用Python!")
结果:
案例:用for循环实现1到100之间的偶数和.
sum = 0
for i in range(1,101):
if not bool(i%2):
sum += i
print("1到100之间的偶数和为:",sum)
练习:输出100到999之间的水仙花数.
for item in range(100,1000):
num_ge = item % 10 #个位数
num_shi = item // 10 % 10 #十位数
num_bai = item // 100 #百位数
if num_ge ** 3 + num_bai ** 3 + num_shi ** 3 == item:
print(item)
结果:
6.流程控制语句break和cotinue
1).break:用于结束循环结构.只能跳出当前循环.
for item in range(3):
pwd = input("请输入密码:")
if pwd == '888':
print("密码正确!")
break
else:
print("密码不正确")
结果:
多层循环时,break不影响外层循环的执行,例子:
for i in range(1,6):
for j in range(1,11):
if j%2 == 0:
break
print(j)
结果:
2).continue
用于结束当前循环,进入下一次循环.
案例:输出1到50之间5是5的倍数的所有数字.
for i in range(1,51):
if i%5:
continue
print(i,end = ' ')
结果:
7.嵌套循环
案例:输出三行四列星星.
for i in range(1,4):
for j in range(1,5):
print("*",end='\t') #不换行输出
print() #打行
结果:
案例:打印一个直角三角形,如下图:
for i in range(1,10):
for j in range(1,i+1):
print("*",end='')
print() #打行
结果:
练习:打印九九乘法表.
for i in range(1,10):
for j in range(1,i+1):
print(i,"*",j,"=",i*j,end='\t')
print()
结果: