一、if语句
1、if条件语句+其他语句
先判断if条件语句的真假,如果为真,先执行if条件下的代码,再执行其他语句;如果为假,则直接执行其他语句。例如下
number=5
if number==5:
print('%s是五' %number)
结果:5是五
2、if--else+其他语句
先判断if条件语句,如果为真,执行if下面的代码,再执行其他语句;如果为假,则判断else的条件,规则和if的条件语句一样。
**注意:if和else语句块中,必定有一个语句块被执行。
number=100
if number>=100:
print('大')
else:
print('小')
结果:大
3、if--elif---elif--else+其他语句
先判断if条件语句,如果为真,执行if下面的代码,再执行其他语句;如果为假,则判断elif的条件,规则和if的条件语句一样,最后判断else的条件。
score=200
if 90<=score<=100:
print('优秀')
elif 70<=score<90:
print('良好')
elif 60<=score<70:
print('及格')
elif 0<=score<60:
print('请家长')
else:
print('来办公室,告诉我到底发生了什么!')
结果:来办公室,告诉我到底发生了什么!
二、数据类型的转换
数据转换种类:int,float,bool,str
1、其他数据类型转int
a.float转int,保留整数部分即可
b.bool转int,True--->1 False--->0
c.str转int,str中去掉引号后本身是整型的str才能转化成int
print(int(12.5))
print(int(True),int(False))
print(int('58'))
结果:12
1 0
58
2、其他数据类型转float
a.int转float,全部都可以转,默认为'int+.0'的形式
b.bool转float,True--->1.0 False--->0.0
c.str转float,str中去掉引号后本身是整数和小数的str才能转化成float
print(float(66))
print(float(True),float(False))
print(float('58.2'))
结果:66.0
1.0 0.0
58.2
3.其他数据类型转bool
任何数据类型都可以转化成bool,表示为0、为空的数据转化成bool之后,给出的结果是False,其余给出的是False.
print(bool(0))
print(bool(''))
print(bool([]))
print(bool(()))
print(bool({}))
print(bool(None))
结果:
False
False
False
False
False
False
4.其他数据类型转str
其他的任何数据类型都可以转化成str,规则就是在数据的外层添加一个引号('')
print(str(66))
print(str(0.618))
print(str(True),str(False))
print(str([1,2,3]))
结果:66
0.618
True False
[1, 2, 3]
三、for循环【注意冒号(:)忘记,与if、elif、else一样都要跟上冒号】
需要重复执行某个过程,可以使用循环
1.for循环
格式:for 变量名 in 序列:+循环体
执行过程:使用变量去取序列中的数据,一个一个的取,直到取完为止
**注意:序列必须是容器类型的数据,如字符串、列表、字典、集合、元组等
list1=[1,2,3,4,5]
for i in list1:
print(i)
print('完毕')
结果:1
2
3
4
5
完毕
2.range函数(左闭右开)
功能:生成一个指定范围的数字序列,一般用在for循环中,控制循环的次数
range(n):生成一个从0~n-1的数字序列
range(m,n):生成一个从m~n-1的数字序列
range(m,n,step):生成一个从m开始,按m+step(步进)的规律,直到m+x*step<n的一个序列。
for i in range(2):
print(i)
print('完毕')
for i in range(1,4):
print(i)
print('完毕')
for i in range(1,6,2):
print(i)
print('完毕')
结果:0
1
完毕
1
2
3
完毕
1
3
5
完毕
练习:计算1+2+3+4+....+100
sum1=0
for i in range(1,101):
sum1+=i #sum1+=i---->sum1=sum1+i=1
print(sum1)
结果:5050
练习:只使用一个循环
计算123...10和246...10的积
mul1=1
mul2=1
for i in range(1,11):
mul1*=i
if not i%2:
mul2*=i
print(mul1,mul2)
结果:3628800 3840
练习:有一个字符串'abcdef',依次取出字符串中偶数位(下标值是偶数)上的字符
str1='abcdef'
#法1
for index in range(0,len(str1)):
if not index%2:
print(str1[index])
#法2
for index in range(0,len(str1),2):
print(str1[index])
# 法三
index=0
for char in str1:
if not index%2:
print(char)
index+=1
结果:a
c
e
a
c
e
a
c
e
四、while循环(注意冒号)
格式:while+条件语句:+循环体
执行过程:先判断条件,如果为真,执行循环体;再判断条件,如果为真,再执行循环体.....依次循环下去,直到条件为假为止。
练习:使用while循环计算1+2+3+....+100
number=1
while number<101:
sum1+=number
number+=1
print(sum1)
结果:5050
练习:计算2+4+6+....100
sum1=0
number=2
while number<101:
sum1+=number
number+=2
print(sum1)
结果:2550
五、continue和break
continue:在for循环中遇到continue直接取下一个数据,不执行后面的内容,直到循环结束;在while循环中遇到,直接是判断while后面的条件,不执行后面的内容,直到循环结束。
break:在循环中遇到break,直接结束整个循环,直接执行后面的语句。
练习:找出100-1000以内第一个能够被3整除同时能够被17整除的数
for i in range(100,1001):
if i%3==0 and i%17==0:
print(i)
break
结果:102
六、for循环和while循环的选择
1、循环次数确定选用for,循环次数不确定选用while
2、要遍历所有的内容,选用for
3、input()函数可以用来接收控制台输入的值,在遇到input()函数的时候,系统会阻断,直到接收到输入信号为止
4、可以用random函数来随机产生一个数,不过先要导入random模块(import random)
作业:
- 求1到100之间所有数的和、平均值(for和while各写一遍)
#for
sum1=0
for i in range(1,101):
sum1+=i
print(sum1)
print(sum1/len(range(1,101)))
# while
sum1=0
number=1
while number<101:
sum1+=number
number+=1
print(sum1)
print(sum1/100)
结果:5050
50.5
5050
50.5
- 计算1-100之间能被3整除的数的和
# for
sum1=0
for i in range(3,101,3):
sum1+=i
print(sum1)
# while
number=3
sum1=0
while number<101:
sum1+=number
number+=3
print(sum1)
结果:1683
1683
- 计算1-100之间不能被7整除的数的和
# for
sum1=0
for i in range(1,101):
sum1+=i
sum2=0
for x in range(7,101,7):
sum2+=x
print(sum1-sum2)
# while
sum1=0
number=1
while number<101:
sum1+=number
number+=1
sum2=0
number1=7
while number1<101:
sum2+=number1
number1+=7
print(sum1-sum2)
结果:4315
4315
- 有⼀对兔⼦,从出⽣后第3个⽉起,每个⽉都⽣⼀对兔⼦,⼩兔⼦⻓到第三个⽉后每个⽉⼜⽣⼀对兔
⼦,假如兔⼦都不死,问第n个⽉的兔⼦总共有多少? 规律: 第⼀个⽉和第⼆个⽉的数量都是1 从第三个
⽉开始 n =( n-1) + (n-2) 1,1,2,3,5,8,13,21...n? 1 1 2 1 3 2 = 1+1 4 3 = 1+2 5 5 = 2+3 6 8 = 3+5 n 第(n-
1)+第(n-2) n = n1 + n2 n==3 n1=1,n2=1 n=n1+n2=2 n==4 n1 = n2 n2 = n n = n1+n2
网友评论