1.if语句
1.1 import random
import 是导入一个模块/包的关键字
random模块中提供许多随机数相关功能
python中的分支结构只有if结构,没有switch。
import random
num=random.randint(0,5)
print(num)
1.2if结构
if(关键字)就是用来做判断的。
语法:
if 条件语句:
执行语句块
说明: 条件语句要求最终有一个值,可以是一个变量或者字面量,一般要求结果为bool,执行语句块可以是一行或者多行代码,代码必须和if保持一个缩进。
执行过程:先判读条件语句是否为True,为True就执行后面的代码块,否则执行if结构后面的语句。
注意: if中写满足条件才执行的语句,与条件无关的语句写在if外,if后面至少有一条语句。
import random
str1="sdjdf544655454sjdl fdsf"
s=random.randint(0,len(str1)-1)
if "a"<=str1[s]<="z" or "A"<=str1[s]<="Z":
print("该字符是字母")
print(str1[s])
1.3 if-else结构
语法:
if 条件语句:
执行语句块1
else:
语句块2
执行过程:判断条件语句,为True执行语句块1,否则执行语句块2
if 10>4:
print("10大于4")
else:
print("10小于等于4")
1.4 if-elif-else结构
语法:
if 条件语句1:
语句块1
elif 条件语句2
语句块2
else:
语句块3
执行过程:依次判断条件语句,直到条件语句成立,执行语句块,结束if结构,否则执行else的语句块。(其中elif可以有多个,else可以省略)
import random
age=random.randint(0,100)
if age<=3:
print("幼儿")
elif 4<=age<=12:
print("儿童")
elif 13<=age<=18:
print('少年')
else :
print("长大了")
1.5if 嵌套
在分支结构中,可以在if,elif,else后面嵌套一个或多个if语句.
练习:判断一个数是否为偶数,如果是,判读是否是4的倍数
import random
num=random.randint(0,1000)
if not num%2:
if not num%4:
print("是4的倍数")
else:
print("偶数,但不是4的倍数")
else:
print("是奇数")
print(num)
2.for循环
python中的循环结构有两种:for循环和while循环.单某个操作/某段代码需要重复执行的时候,就需要用到循环结构.
2.1for循环
语法:
for 变量 in 序列
循环体
序列: 要求是一个值,且必须是一个序列(容器)比如:字符串,列表,字典,元祖,迭代器,范围(range).
循环体: 和for保持一个缩进的代码段,循环体会被重复执行
执行过程:让变量去序列中取值,一个个取,取完为止,没取一个值,执行一次循环体
for s in "dsjf":
print(s)
print(s)
练习:获取字符串中数字的个数
str1="kjd833j3h32h43h 32sd f3"
num=0
for char in str1:
if char.isnumeric():
num+=1
print(num)
range函数:
range(n):产生一个0~n-1的整数序列(python中是xrange).
range(m,n):产生一个m~n-1的整数序列.
range(m,n,step):产生一个m~n-1,间隔step的整数序列
练习:计算1+2+3+......+100
sum1=0
for num in range(1,101,1):
sum1+=num
print(sum1)
注意:如果取到的变量num是不需要的,只是循环,可以用_来代替变量.
3.while循环
3.1while循环结构
语法:
while 条件语句:
循环体
说明:条件语句,循环体与if循环中的条件语句,循环体一样.
执行过程:判段条件语句,为True,执行循环体,再重复判断,执行,直到条件为false
注意:while True ---->死循环
练习: 用while循环实现1+2+3+100
num=0
sum1=0
while num<=100:
sum1+=num
num+=1
print(sum1)
4.for 和while
如果是不断的获取序列中的元素,直接用for循环.
如果循环次数确定,最好也用for循环
死循环和循环次数不确定的时候最好用while
input():返回从键盘接收到的数据,(以回车结束),返回类型是字符串
练习:产生一个随机数,不断输入数字,直到两种相等,并提示输入的数大了还是小了.
import random
num=random.randint(0,10)
num1=int(input())
while num!=num1:
if num1>num:
print("大了")
else:
print("太小了")
num1=int(input())
print("猜对了")
5.break,continue和else
5.1 continue
只能写在循环体中,当遇到continue时,结束当次循环,直接进行下次循环的判断.
下次循环的判断:for->变量取下一个值,while-->重新判断条件语句.
练习:计算1~100中非奇数的和
sum1=0
for num in range(0,101):
if num%2:
continue
sum1+=num
print(sum1)
5.2 break
在循环中遇到break,直接结束整个循环.一般用来跳出循环.
for num in range(1,10):
print(num)
break
5.3 else
for 变量 in 序列:
循环体
else:
代码块
while 条件语句:
循环体
else:
代码块
循环自然死亡时执行else后的代码块,如果循环遇到break结束,else后的代码不会执行.