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