3.Python基础学习笔记day03-分支与循环
一、分支语句
'''
分支语句语法:
1、单分支语句
if 判断条件:
语句块
执行过程:
首先执行判断条件,当判断条件成立【结果为真的时候】会执行语句块,
若条件不成立,则不执行。
2、双分支语句
if 判断条件:
语句块1
else:
语句块2
执行过程:
首先执行判断条件,当判断条件成立【结果为真的时候】会执行语句块1,
若条件不成立,则执行语句块2。
'''
age = 17
if age> 18:
print("已成年")
else:
print("未成年")
'''
3、多分支:
语法:
if 判断条件1:
语句块1
elif 判断条件2:
语句块2
elif 判断条件3:
语句块3
...
else:
语句块n
执行过程:
首先执行判断条件1,若条件1成立则执行语句块1,语句块1执行完毕则跳出
分支语句,若条件1不成立,则执行判断条件2,若条件2成立,则执行语句块2
若条件2不成立,则继续往下执行直到判断条件成立为止,若判断条件都不成立
则执行else下面的语句块。
'''
'''
高考分数线:
一本 540
二本 480
三本 440
大专 360
分数取值范围 [0,750]
'''
if score < 0 or score > 750:
print("分数有误")
else:
if score < 360:
print("很抱歉,再来一年。。")
elif score < 440:
print("恭喜你过了大专线。。。")
elif score < 480:
print("恭喜你过了三本线。。。")
elif score < 540:
print("恭喜你过了二本线。。。")
else:
print("恭喜你过了一本线。。。")
二、分支的嵌套
'''
在分支语句中是可以嵌套分支语句的
if 判断条件1:
if 判断条件2:
语句块2-1
else:
语句块2-2
else:
语句块1-2
执行过程:首先执行判断条件1,条件1成立,则执行判断条件2,若条件2成立,则执行语句块2-1,否则执行语句块2-2
条件1不成立则执行语句块1-2
注意:else与if的配套与缩进有关,if下面的的else是对齐的。
'''
三、分支的三目运算
'''
本质:将if语句强制性的写在一行,完成一个二选一的效果。
语法:
result1 if 判断条件 else result2
执行过程:当判断条件成立则返回result1,若条件不成立则返回result2
result可以是变量,也可以是常量也可以是表达式。
'''
'''
判断某个数是否为偶数
'''
number = int(input("请输入一个整数"))
print(True) if number%2 == 0 else print(False)
四、while循环
'''
while循环的语法:
while 判断条件:
循环体
执行过程:
首先执行判断条件,若条件成立,则执行循环体,循环体执行完毕则继续执行判断条件,
若条件仍然成立,则继续执行循环体,循环往复直到判断条件不成立为止,退出循环。
'''
'''
1+2+3+...+100之和
'''
n = 1
res = 0
while n <= 100:
res += n
n += 1
print(res)
五、while循环之break、continue、pass
'''
while 判断条件:
循环体
注意:当判断条件的取值永远为真的情况下,这时候这个循环就是一个死循环。
一般使用死循环的时候都会配合break与continue同时使用。
break
功能: 跳出当前循环体
continue:
功能:结束当前此次循环,继续下一次【没有跳出循环体】
注意:break与continue只用于循环中
pass:
功能:本身没有任何意义,保证语义的完整性
'''
'''
4.摇色子,
提示:押大还押小 : 大 或者 小
开始摇色子一个,
【1~6】取值【1, 2, 3】 小
取值【4, 5, 6】大
若押中,则打印“”庄家喝酒。。。。“
若没押中,则打印”先干为敬。。。“
每次游戏结束之后,询问用户游戏是否继续,若继续则继续游戏,若不继续则退出游戏
'''
while 1:
print("开始游戏")
num = random.randrange(1, 7)
print(num)
ya = input("押大还是押小? 大/小")
if ya == "大" and num > 3 or ya == "小" and num < 4:
print("你赢啦,庄家喝酒。。。")
else:
print("先干为敬。。。")
con = input("是否继续游戏? yes/no")
if con == "yes":
continue
else:
break
六、while循环之else
'''
语法:
while 判断条件:
循环体
else:
语句块
执行过程:
当循环正常执行结束的时候,会执行else下面的语句块,若循环非正常执行结束
[使用break跳出循环体的时候]则不会执行else下面的语句块。
'''
n = 1
while n < 100:
print(n)
n += 1
if n == 50:
break
else:
print("正常执行结束")
七、for循环
'''
for循环语法:
for x in 序列:
循环体
执行过程:使用for循环,可以将序列中的元素依次取出赋值给x
当序列中的元素全部取出的时候循环结束。
range([start,]stop[,step])函数
start:默认0
stop:必须写
step:步长默认1,取值可以为负
功能:可以产生一个从[start,stop)以step为步长的序列。
'''
'''
求1-2+3-4+...+99-100的和
'''
res = 0
for x in range(1,101):
if x%2 == 0:
res -= x
else:
res += x
print(res)
八、for循环之else
'''
for x in 序列:
循环体
else:
语句块
执行的过程:
当for循环正常执行结束,此时会执行我们的else下面的语句,
若非正常执行结束,则不会执行else下面的语句。
'''
'''
需求:从控制台输入一串字符串,判断这个字符串中的字符是否全部都为数字
若是打印True,否则打印False
'''
str1 = input("请输入一个字符串")
for x in str1:
if x >='0' and x <='9':
pass
else:
print("非纯数字")
break
else:
print("纯数字")
九、循环嵌套
'''
循环的嵌套:
for i in 序列1:
循环体1
for j in 序列2:
循环体2
执行过程:
首先进入外循环,外循环执行一次,进入内循环,
内循环【执行一轮】执行结束,退出内循环,执行第二次外循环,
又重新进入内循环,循环往复,直到外循环退出,整个循环才结束。
'''
'''
res = 1!+2!+3!+...+n!
'''
res = 0
n = int(input("请输入一个整数:"))
for x in range(1, n+1):
ji = 1
for i in range(1, x+1):
ji *= i
res += ji
print(res)