Day5
一、 if语句
python中的分支结构只有if语句,没有switch
1、 什么时候需要使用if
如果做某件事(执行某段代码)需要满足某个条件才行,就考虑使用if
2、 怎么使用if
结构一
a. 语法1:
if 条件语句:
代码段1
b. 说明:
if - 关键字,是如果的意思
条件语句 - 任意一个有结果的语句,最好结果是布尔。
如果不是布尔,在判断的时候会转换成布尔。
: - 固定写法,只要出现,下面第一行代码一定会缩进。
冒号缩进组合形成代码段,相当于其他语言中的大括号。
代码段1 - 和if保持一个缩进的你语句且前面所有代码段都和if保持同一个缩进语句。也可以是一行,也可以是多行语句。
如果代码段没有和if保持同一个
c. 执行过程:先判断条件语句的结果是否为True,如果为True就执行代码段1,再执行其他语句;
若为Flase,则不执行代码段,直接执行if外边的语句。
判断一个数字是否是3的倍数
num = int((input("请输入一个数字:")))
if num % 3 == 0:
print('%d是三的倍数' % num)
结构二: if-else结构
a. 语法:
if 条件语句:
代码段1:
else:
代码段2
其他语句
b. 说明
else - 关键字,固定写法;相当于否则,不满足if条件的其他情况
c. 执行过程:先判断条件语句是否为True,如果为True就执行代码段1,否则执行代码段2
判断奇偶
#num = int((input("请输入一个数字:")))
if num % 2 ==0 :
print('%d是偶数' % num)
else:
print('%d是奇数' % num)
# 输入一个字符串,判断字符串的开头是否是字母小写,是就转换为大写并打印。否则直接打印
str1 = input("随便输点啥:")
if 'a' <= str1[0] <= 'z':
print(str1[0].upper() + str1[1:])
else:
print(str)
结构三:if-elif-else结构
a. 语法:
if 条件语句1:
代码段1
elif 条件语句2:
代码段2
···
elif 条件语句n-1:
代码段n-1
else:
代码段n
b. 说明
elif - 关键字;在前面的条件下不满足的前提下,判断其他条件是否满足
c. 执行过程:先判断条件语句1是否成立,如果成立直接执行1,然后整个if结构结束,接着执行其他语句;
如果条件语句1不成立,再判断条件语句2是否成立,是,就直接执行,然后整个if结构结束,接着执行其他语句;
以此类推,如果条件语句都不成立,就执行else后的代码段n
注意:后面的条件语句的判断都是在前面的条件不成的前提下执行。else不一定写,有时候可以没得。
print('=================')
print('欢迎你的到来')
print('\t1、添加学生')
print('\t2、查看学生')
print('\t3、修改学生信息')
print('\t4、删除学生')
print('\t5、返回')
print('=================')
num = (input('请输入:'))
if num == '1':
name = input('请输入姓名')
tel = input('请输入电话')
age = input('请输入年龄')
elif num == '2':
input('请输入要查看学生的名字')
elif num == '3':
print('目前正字啊修改学生信息')
elif num == '4':
print('目前正在删除学生信息')
elif num == '5':
print('退出')
else:
str1 = """
=================
欢迎你的到来
1、添加学生
2、查看学生
3、修改学生信息
4、删除学生
5、返回
=================
"""
print(str1)
二、 如何使用if
1、 if的嵌套
在if结构中还可以再写if结构
判断一个数就打印偶数,在判断能否被4整除,是就打印是
不是偶数就打印是奇数
num = int(input('请输入一个数:'))
if num % 2 == 0:
print('%d是偶数' % num)
#嵌套的if只有在外面的if执行的时候才会判断
if num % 4 == 0:
print('%d是4 的倍数' % num)
else:
print('%d是奇数' % num)
if num % 3 == 0:
print('%d是三的倍数' % num)
2、 python的三目运算符
C/JAVA/JS 中有一个三目运算符:
表达式?值1:值2 - 判断表达式的值是否为True,为True表达式的结果是值1,否则为值2
python中的三目运算符:值1 if 表达式 else 值2 -
为True表达式的结果是值1,否则是值2.
num1 , num2 = 10 ,100
print(num1 if num1 > num2 else num2)
确定年份是否是闰年,是就输出是,不是就输出不是
num1 = 1900
if num1 % 100 != 0:
if num1 % 4 == 0 :
print('%d是闰年' % num1)
elif num1 % 400 == 0 :
print('%d是闰年' % num1)
else:
print('%d不是闰年' % num1)
三、 for循环
python中的循环分为:for循环和while循环
1、 为什么要使用循环
当实现某个功能的时候发现某个操作需要重复执行,这个时候就考虑使用循环
2、 for
a. 语法
for 变量 in 序列:
循环体
b. 说明
for - 关键字
变量 - 一个变量名,可以是已经赋值给的变量也可以是新的变量(一般是新的变量)
in - 固定写法
序列 - 属于序列的数据;python中的序列有:字符串,列表,
字典,集合,元祖,range,迭代器,生成器
: - 固定写法,和缩进是一起的
循环体 - 和foe保持一个缩进的代码段
c. 执行过程(重要)
让变量去序列中取值,一个一个的取,取完为止。每取一个值就执行一次循环体
统计字符串’hosee 23jh!hs89_=sssAsK‘中有多少个数字字符
i = 0
for char in 'hosee 23jh!hs89_=sssAsK':
if char.isdigit():
i += 1
print('有%d个数字字符' % i)
3、 rangge函数
range(N) - 产生数字序列 0 - N-1 (N为整数且N>0)
range(M,N) - 产生数字序列 M - N-1 (N为整数且N>M)
range(M,N,step) - 从M开始,每次值加step产生下一个数。
step > 0 ,N > M;step < 0 ,N < M
计算从1叫到100的和,能整除13或7的数的和
sum1 = 0
sum2 = 0
for num1 in range(1,101):
sum1 += num1
if num1 % 13 == 0 or num1 % 7 == 0:
sum2 += num1
print('一加到一百的和是:%d,能整除13或7的数的和:%d' % (sum1, sum2))
4、 以遍历字符串字符的下标的方式遍历字符串
str1 = 'hello world'
for index in range(len(str1)):
print(str1[index])
print('===========')
for index in range(-1,-len(str1)-1,-1):
print(str1[index])
四、while循环
1、 while
a. 语法
while 条件语句:
循环体
其他语句
b. 说明
while - 关键字:当……的时候
条件语句 - 和if后边的要求一样(赋值语句不行,别的语句都行)
: - 固定写法
循环体 - 和while保持一个缩进的需要重复执行的代码段
c. 执行过程
当程序执行到while循环,就先判断条件语句是否为True,为Ture就执行一次循环体再判断条件语句是否为Ture,
为True,又执行循环体……以此类推,指导判断条件语句的结果为False,循环结束。直接执行后面你的其他语句。
for和while的选择:
严格来说:for循环可以做到的while都可以做到,while能做到的for不一定能做
使用for: a. 遍历序列 b. 循环次数确定
使用while: a. 死循环 b.循环次数不确定
用while遍历字符串
num = 0
s1 = '12dfsfs'
while num < len(s1):
print(s1[num])
num += 1
录入学生的成绩,输入'end'来结束
a = input('请输入成绩:')
while a != 'end':
a = input('请输入成绩:')
输入的数字至少是六位
a = input('请输入密码:')
while len(a) < 6:
print('密码不足六位')
a = input('请输入密码:')
print('输入成功')
五、循环里面的关键字
1、 continue
contine是python关键字,只能用在循环体中。
功能:用来结束当次循环,直接进入下次循环的判断.
for循环就是让变量去取下一个值
x = 0
while x < 20:
x += 1
if x % 5 != 0:
continue
print(x)
2、 break
break是python关键字,只能用在循环体中
功能:执行循环体的时候,遇到break就结束
找到大于11的数字当中第一个能够同时被17整除的数
x = 111
while True:
if x % 17 == 0:
print(x)
break;
x += 1
3、 else
for 变量 in 序列:
循环体
else:
代码段
while 条件语句:
循环体
else:
代码段
执行过程:循环执行过程不变,else后面的代码段,
如果循环是正常救赎就会执行;如果遇到break而结束,就不会执行。
for x in range(1,10):
print(x)
else:
print(123)
x = 1
while x != 2:
x += 1
else:
print(123)
网友评论