运算符的优先级
运算符优先级参照表
条件判断
条件判断语句
- 条件判断语句(if语句)
if语句在执行时,会先对条件表达式进行求值判断,
如果为True,则执行if后的语句
如果为False,则不执行 - 语法:if 条件表达式 :
代码块 - 代码块代码块中保存着一组代码,同一个代码块中的代码,要么都执行要么都不执行
- 代码块以缩进开始,直到代码恢复到之前的缩进级别时结束
- 代码块就是一种为代码分组的机制
input() 函数
- 该函数用来获取用户的输入
- input()调用后,程序会立即暂停,等待用户输入
- 用户输入完内容以后,点击回车程序才会继续向下执行
- 用户输入完成以后,其所输入的的内容会以返回值得形式返回
注:input 具有阻塞程序的作用,你不输入,那么程序永远都不会继续往下执行
注:str类型 必须有引号,双引号,三引号包裹。
eval作用是去掉字符串的引号
if-else语句
• 语法:
if 条件表达式 :
代码块
else :
代码块
• 执行流程:
1. if-else语句在执行时,先对if后的条件表达式进行求值判断
2. 如果为True,则执行if后的代码块
3. 如果为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('能养活自己了')
• 语法:
if 条件表达式 :
代码块
elif 条件表达式 :
代码块
elif 条件表达式 :
代码块
…
else :
代码块
• 执行流程:
1. if-elif-else语句在执行时,会自上向下依次对条件表达式进行求值判断,
2. 如果表达式的结果为True,则执行当前代码块,然后语句结束
3. 如果表达式的结果为False,则继续向下判断,直到找到True为止
4. 如果所有的表达式都是False,则执行else后的代码块
• 总结: if-elif-else中只会有一个代码块会执行
结论: if-elif-else完整语句一定会有输出,但是if-elif-elif 不一定有输出。但是如果有输出,一定是输出一条。
循环控制
while语句
• 循环语句可以使指定的代码块重复指定的次数.循环语句分成两种,while循环 和 for循环
• 语法:
while 条件表达式 :
代码块
else:
代码块
while循环练习:
while循环嵌套
总结
1.if-elif-else语句永远会执行且只有一个输出
2.if-elif-elif语句不一定会执行,但一旦执行,就只有一个输出
3.input语句接受的参数都是字符串;语句会阻塞后面的程序
4.while循环的三大要素
- 初始值
- 对于初始值的判断
- 初始值的自增长
5.while循环嵌套
- 外层循环的初始值要放到外层循环外,内层循环的初始值一定要放到外层循环之内、内层循环之外,否则内层循环的初始值不会重新赋值,就没法控制内层循环的循环次数。
作业
1.求1000以内所有的水仙花数
思路:
循环100到1000内的所有的数
把拿到的数的个位,十位,百位拆分,
三次幂相加等于它本身
i = 100
while i < 1000:
a = i // 100
b = (i - a * 100) // 10
c = i % 10
if a ** 3 + b **3 + c ** 3 == i:
print(i)
i += 1
2.获取用户输入的任意数,判断其是否是质数?
num = int(input('请输入整数:'))
i = 2
while i < num:
if num % i == 0:
print('不是质数')
break
i += 1
else:
print('是质数')
3.猜拳游戏:
• 出拳 玩家:手动输入 电脑:随机输入
• 判断输赢: 玩家获胜 电脑获胜 平局
思路:0 石头 , 1 剪刀, 2 布
import random
while True:
player = int(input('请输入0,1,2三个数中间的一个:'))
computer = random.randint(0, 2)
if (player == 0 and computer == 1) or (player == 1 and computer == 2) or (player == 2 and computer ==0):
print('玩家获胜')
elif player == computer:
print('平局再来')
else:
print('电脑获胜')