1、条件判断语句(if语句)
- 执行的流程:
---- if语句在执⾏时,会先对条件表达式进⾏求值判断,
---- 如果为True,则执⾏if后的语句
---- 如果为False,则不执⾏ - 语法:if 条件表达式 :
代码块
示例如下:
i = int(input("请输入数字:"))
if i == 1:
print('1')
if i == 2:
print('2')
结果如下:
- 代码块代码块中保存着⼀组代码,同⼀个代码块中的代码,要么都执⾏要么都不执⾏
- 代码块以缩进开始,直到代码恢复到之前的缩进级别时结束
- 代码块就是⼀种为代码分组的机制
2、input函数
- 该函数⽤来获取⽤户的输⼊
- input()调⽤后,程序会⽴即暂停,等待⽤户输⼊
- ⽤户输⼊完内容以后,点击回⻋程序才会继续向下执⾏
- ⽤户输⼊完成以后,其所输⼊的的内容会以返回值得形式返回
3、if-else语句
- 语法
if 条件表达式:
代码块
else:
代码块
示例如下:
i = 10
if i > 20:
print('大于20')
else:
print("小于20")
结果如下:
- 执行流程
----if-else语句在执⾏时,先对if后的条件表达式进⾏求值判断
----如果为True,则执⾏if后的代码块
----如果为False,则执⾏else后的代码块)
4、if-elif-else 语句
- 语法
if 条件表达式:
代码块
elif 条件表达式:
代码块
elif 条件表达式:
代码块
… … … …
else:
代码块
示例如下:
i = 54
if i < 20:
print('大于20')
elif 40 > i > 20:
print("大于20小于40")
elif 60 > i > 50:
print("大于50小于60")
else:
print("啥都不是!")
结果如下:
- 执行流程
----if-elif-else语句在执⾏时,会⾃上向下依次对条件表达式进⾏求值判断
----如果表达式的结果为True,则执⾏当前代码块,然后语句结束
----如果表达式的结果为False,则继续向下判断,直到找到True为⽌
----如果所有的表达式都是False,则执⾏else后的代码块 - 总结:if-elif-else中只会有⼀个代码块会执⾏
5、while语句
- 循环语句可以使指定的代码块重复指定的次数.循环语句分成两种,while循环和 for循环
- 语法:
while 条件表达式 :
代码块
else:
代码块
示例如下:
i = 0
while i < 5: #只要满足条件就一直循环
print("*")
i += 1
else:
print("语句执行结束!")
结果如下:
6、break 和 continue
- break 可以⽤来⽴即退出循环语句,包括else语句
- continue ⽤来跳过当次循环
break示例:
i = 0
while i < 5:
print("{}".format(i))
if i == 2:
break
i += 1
else:
print("语句执行结束!")
结果如下:
continue示例:
i = 0
while i < 5:
i += 1
if i == 2:
continue
print("{}".format(i))
else:
print("语句执行结束!")
结果如下:
7、while嵌套循环
while 表达式:
while 表达式:
代码块
代码块
示例如下:
# while循环嵌套:九九乘法表
i = 1
while i < 10:
j = 1
while j < i+1:
print('{}*{}={}'.format(j, i, j*i), end='\t')
j += 1
print()
i += 1
结果如下:
课后作业:
- 作业一:求1000以内所有的⽔仙花数
list1 = []
for i in range(100, 1000):
sum1 = 0
for j in str(i):
sum1 += int(j)**3
if i == sum1:
list1.append(i)
print(list1)
结果如下:
- 作业二:获取⽤户输⼊的任意数,判断其是否是质数?
# 用户输入数字
num = int(input("请输入一个数字: "))
# 质数大于 1
if num > 1:
# 查看因子
for i in range(2, num):
if (num % i) == 0:
print(num, "不是质数")
break
else:
print(num, "是质数")
# 如果输入的数字小于或等于 1,不是质数
else:
print(num, "不是质数")
结果如下:
- 作业三:猜拳游戏:
—出拳 玩家:⼿动输⼊ 电脑:随机输⼊
—判断输赢: 玩家获胜 电脑获胜 平局
import random # 生成随机数、随机字符串
Wj = input('玩家出拳:')
if Wj == '石头' or Wj == '剪刀' or Wj == '布':
Dn = random.choice(['剪刀', '石头', '布'])
print('电脑出拳:{}'.format(Dn))
if Wj == '石头' and Dn == '石头':
print('平局')
elif Wj == '石头' and Dn == '剪刀':
print('玩家获胜')
elif Wj == '石头' and Dn == '布':
print('电脑获胜')
elif Wj == '剪刀' and Dn == '石头':
print('电脑获胜')
elif Wj == '剪刀' and Dn == '剪刀':
print('平局')
elif Wj == '剪刀' and Dn == '布':
print('玩家获胜')
elif Wj == '石头' and Dn == '石头':
print('平局')
elif Wj == '石头' and Dn == '剪刀':
print('玩家获胜')
elif Wj == '石头' and Dn == '布':
print('电脑获胜')
else:
print("请重新输入,只能输入石头、剪刀、布!")
结果如下:
扩展:python生成随机数、随机字符串
python生成随机数、随机字符串
import random
随机整数: print(random.randint(1, 50))
随机选取0到100间的偶数: print(random.randrange(0, 101, 2))
随机浮点数: print(random.random()) print(random.uniform(1, 10))
随机字符: print(random.choice(‘abcdefghijklmnopqrstuvwxyz!@#$%^&*()’))
多个字符中生成指定数量的随机字符: print(random.sample(‘zyxwvutsrqponmlkjihgfedcba’, 5))
从a-zA-Z0-9生成指定数量的随机字符: ran_str = ‘’.join(random.sample(string.ascii_letters + string.digits, 8))
print(ran_str)多个字符中选取指定数量的字符组成新字符串: print(’’.join(random.sample(
[‘z’, ‘y’, ‘x’, ‘w’, ‘v’, ‘u’, ‘t’, ‘s’, ‘r’, ‘q’, ‘p’, ‘o’, ‘n’, ‘m’, ‘l’, ‘k’, ‘j’, ‘i’, ‘h’, ‘g’, ‘f’, ‘e’, ‘d’,
‘c’, ‘b’, ‘a’], 5)))随机选取字符串: print(random.choice([‘剪刀’, ‘石头’, ‘布’]))