"""author = 陈俊龙"""
============== if-elif-else结构============
1)语法:
if 条件语句1:
代码块1
elif 条件语句2:
代码块2
elif 条件语句3:
代码块3
......
else:
代码块4
2)执行过程
先判断条件语句1是否为True,如果是就执行代码块1,然后整个if结构结束,直接执行结构外后面的语句
如果条件语句1是False,就执行接下来的条件语句2,并重复之前的判断和执行过程
如果所以的条件都是False,那么就会执行else里面的代码块4,然后执行结构外的语句
练习1:给一个年龄值,判断这个是儿童(0-12),少年(13-18),青年(19-28),中年(29-50),老年(50以上)
old = 24
if old <= 12:
print('儿童')
elif old <= 18:
print('少年')
elif old <= 28:
print('青年')
elif old <= 50:
print('中年')
else:
print('老年')
3)if嵌套
可以在if语句中再嵌套其他if语句
练习2 判断一个数是基数还是偶数,同时判断这个数能不能被4整除
判断一个数是基数还是偶数,同时判断这个数能不能被4整除,如果是基数,判断个位是否是3
num = 14
if num % 2 == 0:
if num % 4 == 0:
print('是偶数,并可以被4整除')
else:
print('是偶数,但不能被4整除')
else:
print('基数')
if num % 10 == 3:
print('个位数是3')
===============for循环================
1.什么时候使用循环
需要重复执行代码中的某个操作的时候,就要有循环
2.如何使用for循环
语法:
for 变量名 in 序列:
代码块(循环体)
说明:
for, in -- 关键字,固定写法
: -- 固定写法
变量名 -- 和声明变量时的变量名要求一样
序列 -- 容器型数据对应的数据类型,常见的序列有:字符串,列表,字典,集合,元组,迭代器,生成器,range(没有数字!)
循环体 -- 和for保持一个缩进的一条或多条语句,就是会被重复执行的代码
执行过程:
让变量去序列中取值,一个一个的去,直到取完为止,每取一个值就执行一次循环体(for的循环次数,由序列中元素的个数来决定)
附 练习1
range函数:
用来产生一定范围数字序列的函数
range(n) -- 产生一个0 - n-1的数字序列(整数)例如:range(10)产生0-9的数字 附 练习2
range(m, n) -- 产生m - n-1的数字序列(m和n都必须是整数,并且n>m)附 练习3 练习4
range(m, n, step) -- 从m开始,每次加step,直到n-1为止(step可以为负数!)
# 练习1
for x in 'hello!':
print(x)
print('=====')
# 练习2
for x in range(10):
print(x)
print('******')
# 练习3
for x in range(10, 100):
print(x)
# 练习4
for x in range(-100, -10, 2):
print('===', x)
# 练习5.统计1000以内能被13整除的数的个数
# 方法1
count = 0
for x in range(1, 1001):
if x % 13 == 0:
print(x)
count += 1
print(count)
# 方法2
for x in range(13, 1001, -13):
count += 1
print(count)
# 练习6,统计1000以内能被2整除但不能被5整除的数的个数
count = 0
for x in range(1001):
if x % 2 == 0 and x % 5 != 0:
count += 1
print(count)
# 练习7,计算1+2+3+.....+100
count = 0
for x in range(1, 101):
count += x
print(count)
# 练习8,计算1*2*3*....10
count = 1
for x in range(1, 11):
count *= x
print(count)
===============while循环==============
1.语法
while 条件语句:
循环体
2.说明
while -- 关键字
条件语句 -- 和if后面的条件语句要求相同(除赋值语句以外的其他语句都可以)
: -- 固定写法
循环体 -- 和while保持一个缩进的一个或多个语句,会被重复执行
3.执行过程
先判断条件语句是否为True,如果为True,就执行循环体,执行完之后再判断条件是否为True,如果为True,就执行循环体以此类推,直到判断条件语句为False,便会直接结束整个循环
练习1使用循环控制程序打印5行‘*****’
i = 0
while i < 5:
print('******')
i += 1
练习2计算1+2+3+4.....+100
i = 0
c = 0
while i < 101:
c += i
i += 1
print(c)
4.for循环和while循环的选择
循环次数确定的情况下用for循环
循环次数不确定的情况下用while(还有无线循环的情况下)
练习3 猜数字游戏:随机产生一个数字,用户不断输入数字,直到输入的数字和产生的数字相同
import random
num = random.randint(0, 10)
x = int(input('请输入你猜的数目:'))
while x != num:
if x > num:
print('偏大了')
else:
print('偏小了')
x = int(input('请输入你猜的数目:'))
print('恭喜你!猜对了')
5.循环相关的关键字
continue关键字:
continue只能出现在循环体中,当执行循环体时遇到continue,当此循环直接结束,然后直接回到最开始的条件判断进入下一次循环的判断
for x in range(5):
print(x)
print('===')
continue
print('+++')
应用:求1 - 10 之间不是4的倍数之和
sum1 = 0
for x in range(10):
if x % 4 == 0:
continue
sum1 += x
print(sum1)
break关键字:
break只能出现在循环体中,当执行循环体时遇到break,整个循环直接结束
for x in range(10):
print(x)
break
print('+++')
print('=====')
应用:
while True:
当满足条件时:
break
import random
x = random.randint(0, 10)
while True:
c = int(input('请输入一个数:'))
if c == x:
break
if c > x:
print('大了')
else:
print('小了')
print('恭喜你猜对了!')
else关键字:
for完整结构:
for 变量 in 序列:
循环体
else:
代码块
while 条件判断:
循环体
else:
代码块
说明:
当循环自然死亡,会执行和循环相关联的else代码块,如果循环时因为遇到break而结束的,就不会执行else里面的代码块
for x in range(5):
break
print(x)
else:
print('else代码块')
print('====')