文章目录
条件判断
条件判断语句(if语句)
-
执行流程:
- if语句在执行时,会先对条件表达式进行求值判断
- 如果为True,则执行if后的语句
- 如果为False,则不执行
-
语法:if 条件表达式:
代码块
-
代码块中保存着一组代码,同一个代码块中的代码,要么都执行要么都不执行
-
代码块以缩进开始,直到代码恢复到之前的缩进级别时结束
-
代码块就是一种为代码分组的机制
input() 函数
- 该函数用来获取用户的输入
- input()调用后,程序会立即暂停,等待用户输入
- 用户输入完内容以后,点击回车程序才会继续向下执行
- 用户输入完成以后,基所输入的内容会以返回值的形式返回
if-else语句
- 语法:
if 条件表达式:
代码块
else:
代码块
- 执行流程:
- if-else语句在执行时,先对if后的条件表达式进行求值判断
- 如果为True,则执行if后的代码块
- 如果为False,则执行else后的代码块
if-elif-else语句
value = 30000
if value >= 30000:
print('有钱任性')
elif value >= 20000:
print('有钱真好')
elif value >= 10000:
print('哥也⽉薪上万了')
elif value >= 5000:
print('⼯资还说的过去')
elif value >= 2000:
print('能养活⾃⼰了')
else:
print('吃土我开心')
- 语法:
if 条件表达式:
代码块
elif 条件表达式:
代码块
elif 条件表达式:
代码块
......
else:
代码块
- 执行流程:
- if-elif-else语句在执行时,会自上向下依次对条件表达式进行求值判断
- 如果表达式的结果为True,则执行当前代码块,然后结束语句
- 如果表达式的结果为False,则继续向下判断,直到找到True为止
- 如果所有的表达式都是False,则执行else后的代码块
- 总结:if-elif-else中只会有一个代码块会执行
while 语句
-
循环语句可以使指定的代码块重复指定的次数,循环语句分成两种,while循环和for循环
-
语法:
while 条件表达式:
代码块
else:
代码块
while循环的三大要素
- 要设定一个初始值
- 对初始值进行约束判断
- 对初始值进行修改
循环嵌套
循环嵌套
- Python 语⾔允许在⼀个循环体⾥⾯嵌⼊另⼀个循环
while 表达式:
while 表达式:
代码块
代码块
break和continue
- break 可以用来立即退出循环语句,包括else
- continue 用来跳过当次循环
代码作业
1. 求1000以内所有的⽔仙花数
i = 100
while i < 1000:
x = i // 100
y = (i % 100) // 10
z = i % 10
n = x ** 3 + y ** 3 + z ** 3
if n == i:
print(i)
i += 1
输出结果为:
2. 获取⽤户输⼊的任意数,判断其是否是质数?
def checkNum(num):
if num > 1:
i = 2
while i<=num:
if num%i ==0:
return '{}不是质数,{}乘于{}是{}'.format(num,i,num // i,num)
else:
return '{}是质数'.format(num)
else:
return '{}不是质数'.format(num)
def main():
num = int(input("请输入一个数字:"))
print(checkNum(num))
main()
main()
分别输入1、6、10、15、19、20、30、55、66后得出结果:
3. 猜拳游戏
- 出拳 玩家:⼿动输⼊ 电脑:随机输⼊
- 判断输赢: 玩家获胜 电脑获胜 平局
import random
#对电脑生成数和自己输入的数进行对比判断0我胜,1电脑胜,2平手
def contrast(num, num1):
if num==0 and num1==2: #我出剪刀电脑出布我胜
return 0
elif num1==0 and num==2: #我出布电脑出剪刀电脑胜
return 1
elif num > num1: #我输入的数字大于电脑的数字时我胜
return 0
elif num1 > num:#电脑的数字大于我输入的数字时电脑胜
return 1
else: #否则平局
return 2
#判断输入的数字是剪刀或是石头还是布
def checkNums(num):
if num == 0:
return '剪刀'
elif num == 1:
return '石头'
else:
return '布'
def randomMain():
num = int(input('剪刀=0,石头=1,布=2,请输入一个数字:'))
if num>=0 and num<=2:
num1 = random.randint(0,2)
contrasts = contrast(num, num1)
if contrasts==0:
print('玩家获胜',end='')
elif contrasts==1:
print('电脑获胜',end='')
else:
print('平局',end='')
print('了!你出的是{}({}),电脑出的是{}({})'.format(checkNums(num), num, checkNums(num1), num1))
else:
print('请您输入正确的数字!')
randomMain()
randomMain()
测试后得出的结果如下: