1、if语句
if、elif、else、都是关键字,需要能够读和写(背)
基本格式如下:
if 条件语句1:
执行语句块1
elif 条件语句2:
执行语句块2
else:
执行语句块3
其它语句
执行过程:
- 1.先判断条件语句是否为True,如果为True就执行冒号:后面执行语句块1,整个条件结构就执行完了,执行其他语句如果是False,就去判断条件语句2是否为True。
- 2.如果是True就执行语句2,在执行其他语句。
- 如果是False就直接执行else语句块3,在执行其他语句
注意:冒号后面的语句块和冒号所在的语句要保持一个缩进。
if条件语句:
执行语句
判断条件语句的值是否为True,如果为True,就执行语句块。否则直接执行if语句后面的其他语句
练习1:要求判断年龄是否大于18,如果大于18就输入‘成年人’
age = 10
if age > 18:
print ('成年人')
print ('___')
练习2:判断一个数是否是偶数,如果是就打印‘xxx是偶数’
num = 11
if num % 2 == 0:
print ('%d 是偶数'%(num))
2.
if 条件语句:
执行语句块1
else:
执行语句块2
判断条件语句是否为True,如果为True,就执行语句块1,否则执行语句块2
num = 11
if num %2 == 0:
print ('%d是偶数'%(num))
else:
print ('%d是奇数'%(num))
练习:输入一个数,如果这个数大于10,就输出它的2倍值。否则输入这个数的2次幂
input():从控制台获取键盘输入的一个字符串,以回车结束
inputavlue = input('请输入一个数:')
pirnt (inputavlue)
new = int(inputavlue) #变量赋值,int
比较运算符和+,在运算的时候,两边可以都是字符串,也可以都是数字,但是不可以一样一个。
if new > 10:
num = new * 2
print (num)
else:
num = new ** 2
print (num)
if - elif-elif - else
给一个成绩,判断成绩是有优秀(90-100)、良好(80-89)、中等(60-79)、不及格(60以下)
grade = int(input('请输入你的考试成绩:'))
if grade < 60:
if grade < 0:
print ('成绩有误')
else:
print ('不及格')
elif grade <= 79:
print ('中等')
elif grade < 90:
print ('良好')
elif grade <=100:
print ('优秀')
else:
print ('成绩输入错误')
- 总结:如果要求中需要多个判断,可以使用多个elif的if语句。
2.一个if/elif/else语句中可以嵌套其他的if语句,要注意缩进问题
练习:给年龄,判断年龄处于:婴儿(0-1岁)、儿童(2-4岁)、少年(5-12岁)、青年(13-18岁)、成年(19-40),中年(41-60),老年(60以上)
age = int(input('请输入年龄:'))
if 0 <= age <= 1:
print('婴儿')
elif 2 <= age < 5:
print ('儿童')
elif 5 <= age < 13:
print ('少年')
elif 13 <= age < 19:
print ('青年')
elif 19 <= age < 41:
print ('成年')
elif 41 <= age < 60:
print ('中年')
elif age >= 60:
print ('老年')
else:
print ('年龄输入错误')
# 说明:Python中没有switch语法
if age == 10:
pass # pass:占位,防止因为没有写块结构而出现语法错误
03range用法
打印1-100次:
1.range(范围)函数:可以生成一个数值范围
用法1.:range(n),生成0~n-1的值
print (range(10))
for x in range(10):
print (x)
用法2:range(m,n),生成m~n-1的数
for x in range(2,10):
print (x)
for x in range(1,101):
print (x)
打印0-100所有的偶数
for x in range(0,101):
if x % 2 == 0:
print (x)
用法3:range(m,n,step):从m开始每step取一个数,取到n前一个数为止(step的值默认是1)
for x in range(1,100,50):
print (x)
不通过字符串相乘,打印10遍'='
- 注意:如果循环中的变量取到的值没有意义,循环过程只是单纯的控制次数,这个时候for后面的变量名一般都用'_'代替
for _ in range(10):
print ('=',end='')
for x in range(1,101):
print (-x)
求1+2+3+4...+100
print ('*****')
sum1 = 0
for x in range(1,101):
sum1 = sum1 + x
# sum1 += x 2种写法
print (sum1)
求10!的阶层。n!=1234n
sum1 = 1
for x in range(1,11):
sum1 = sum1 * x
# sum1 *= x
print (sum1)
changeType
1.将其他数据转换成数字
int():将其他的数据转换成int类型的数据
num = 12.56
print (int(num)) # 将浮点数转换成整数(直接去掉小数部分)
bool1 = True
print (int(bool1)) # 将布尔值转换成整数,True-0>1,False-->0
str1 = '-129'
print (int(str1)) # 只有纯数字字符串/纯数字字符串前有+、-号的字符串,才能转换成相应的整数。
float() 将其他数据转换成浮点型数据
bool() 将其他数据转换成布尔值
数字转换成布尔:非0是True,0是False
print (bool(12))
print (bool(0))
字符串转换成布尔:除了空串('')是False,其他都是True
print (bool('abc'))
print (bool('00p'))
print (bool(''))
- 注意:可以在if或者while循环后的条件语句,可以不是结果为True/False的表达式,也可以是值式其他类型数据的表达式。
也可以是值是其他类型数据的表达式。判断的时候就看这个值转换成bool后的结果是True还是False
if 10:
print ('aaa')
判断一个字符串是否是空串,如果不是就直接打印这个字符串,否则打印'空串'
str1 = ''
if str1:
print (srt1)
else:
print ('空串')
if str1 != '':
print (str1)
else:
print ('空串')
# str()将其他的数据转换成字符串。所有数据类型的数据都可以转换成字符串
print (str(34))
for循环1
Python中循环:for循环、while循环(一个操作需要重复执行多次,这个时候就考虑使用循环)
-
Python中的for循环只有for-in循环:
格式:for 变量名 in 列表: 循环体
执行过程:使用变量取依次获取列表中的数据,直到获取完为止;每获取一个数据,执行一次循环体
循环次数:由列表中的数据的个数决定
#######取获取字符串中每一个字符
str1 = 'sadfleoaladfaaaafdf'
for char in str1:
print (char)
去统计一个字符串中'a'出现的次数
nem = 0
for char in str:
if (char == 'a'):
nem += 1
print (nem)
while循环1
格式:
while 条件语句:
循环体
执行过程:判断条件语句的结果是否为真,如果为True就执行一次循环体。执行完循环体后再去判断条件语句是否为真,为真的话又执行循环体。重复这个过程,直到条件语句的结果为False
-
for循环可以试下的操作,while循环都可以
练习:打印 1-100num =1 while num <= 100: print (num,end='') num += 1
计算1+2+3....100
sum = 1
sum1 = 0
while num <= 100:
sum1 += num
num +=1
print (sum1)
求1-100中所有偶数的和
方法1:
num = 0
sum1 = 0
while num <= 100:
if num % 2 == 0:
sum1 += num
num += 1
print (sum1)
方法2:
num = 0
sum = 0
while num <= 100:
sum1 += num
num += 2
print (sum1)