Python_day5_运算符、语句(if、input、if-else、while)

运算符

条件运算符

a = 10
b = 20
print("a的值比较大”) if a>b else print("b的值比较大)

a = 300
b = 40
m = a if a>b else b
print(m)

运算符的优先级

  • a = 2 or 3 and 4 #非布尔值的与或运算
  • print(a) #and的优先级比or高,结果为2
  • or比and的优先级高 结果4
  • or比and的优先级一样高 结果4
  • and比or的优先级高 结果2
  • 下图,优先级顺序---->operator precedence 离线包位置
    在这里插入图片描述

拓展(注):
False:0、 “空值” 、【序列】、None True:数字等
在这里插入图片描述

语句

if语句

if True:print(“hello”)

#如果正确,执行if后面语句(多条语句,if后面增加代码块:如下例子),否则执行else语句(冒号一定需要,区别Excel的vba)
代码块就是一种为代码的分组机制

语法
if 条件表达式:
	代码块
if True:
	print("hello") 

> #***缩进开始,缩进结束,代码块结束。***

	print("hahah")
	print("大帅哥")
else:


input语句

  • 需求:获取用户输入的名字,如果名字是Python,欢迎访问
  • input() 函数接受一个输入数据,返回为str类型
username = input("请输入用户名:")
if username == "python":
	print("欢迎访问")

value = int(input("请输入你的工资:")
if value >= 2000:
print("能养活自己了") #类型要一样才能比较,str和int不能比较


if-else语法

- 语法
if 条件表达式:
		代码块#代码块需要缩进
else:
		代码块
value = int(input("请输入你的工资:")
if value >= 2000:
	print("能养活自己了") 
else:
	print("你该加油了")


value = int(input())
if value >= 30000:
	print("有钱任性")
elif value >= 20000print("有钱真好")
elif value >= 10000print("哥们也月薪上万了")
elseprint("你该加油了") #自上而下的顺序的判断

# 根据月份打印所属的季节--->课堂练习
month = int(input("请输入月份:")) #优化下,0月呢?
if 1 <= month <= 3:
    print("1季度")
elif 4 <= month <= 6:
    print("2季度")
elif 7 <= month <= 9:
    print("3季度")
else:
    print("4季度")
  • 课堂练习:
    我加的狗5岁了,5岁的狗相当于人多大的年龄呢?
    狗的前两年,每一年相当于人类的10.5岁,然后每增加1年就增加4岁
    那么5岁的狗就相当于人类的年龄是 10.5+10.5+4+4+4=33
  • 编写一个程序获取狗的年龄,然后通过程序来判断人的年龄是多少:如果用户输入的负数,请提示一个错误信息
dog_age = float(input("请输入狗的年龄:"))
person_age = 0
# 检查用户输入的年龄是否为负数
if dog_age < 0:
	print("输入的年龄不合法")
#如果狗的年龄在2岁以下(包含2岁)
elif dog_age <= 2: #直接用狗的当前年龄乘以10.5
	person_age = dog_age * 10.5 #如果狗的年龄在2岁以上
else: #先计算2岁的年龄
	person_age = 2 * 10.5 #在计算超过2岁的年龄部分,和2岁的在相加
if dog_age > 0:
	person_age = dog_age * 10.5 +(dog_age - 2) * 4  或者 person_age += (dog_age - 2) * 4
	课堂另外一个代码块写法:

while语法

  • while语句可以使指定的代码块重复执行
  • 循环3要素
    1、初始化表达式
    2、条件表达式
    3、更新条件表达式

自我总结方法3要素记忆:定义什么、想要什么、更新什么(或者2,3步颠倒)—>3步骤 如下课堂练习代码示例

  • 语法:
i = 0  #第1个条件
while i < 20:#第2个条件,如果是True执行循环体,直到False,执行else后面的代码块,如果没有else结束。
	i += 1 #第3个条件
	print("i")
else:
	print("我是else语句中的代码")
  • 课堂练习:
    求100以内的偶数之和
i = 0
r = 0  #定义什么
while i <= 100
	r += i #想要什么
	i += 2 #更新什么
	print(i)
接上个例子:
i = 0
r = 0 #定义什么
while i < 100:
    i += 2 #更新什么
    r += i #想要什么
print(r)

或者:
i = 0
r = 0 #定义什么
while i <= 100:
    if i % 2 == 0:
        r += i #想要什么
    i += 1 #更新什么
print(r)

接上个例子:
i = 0
r = 0 #定义什么
while i <= 100:
    i += 1 #更新什么
    if i % 2 == 0:
        r += i #想要什么
print(r)

作业:
1、写博客
2、把老师课堂上面的代码敲3遍
3、
①:用条件运算符找3个值中的最大值(不要用if语句)
②:求1000以内所有的水仙花数
③:获取用户输入的任意数,判断其是否是质数(质数只能被1和它本身整除的数就是一个质数)

作业3.1:
方法1:

a = 10
b = 20
c = 30
m = a if a > b else b
n = m if m > c else c
print(n)

方法2:

a = 10
b = 20
c = 30
d = max(a,b,c)
print(d)

作业3.2:
在这里插入图片描述
代码如下,上图为运行结果:

i = 100
n = 0
while i < 1000:
    a = i // 100 #之前把abc放到while外面,错误原因,abc要跟着i的变动而变动,也是属于 “更新什、
    ” 的数据,放在外面abc就固定住了。
    b = i // 10 - a * 10 #利用之前学的运算符,也可以这么写 b = i // 10 % 10
    c = i // 1 - a * 100 - b * 10 #也可以这么写 c = i % 10
    if i == (a ** 3 + b ** 3 + c ** 3):
        print("水仙花数是:",i)
        n += 1
    i += 1
print("1000以内水仙花数是:%d个"%n)

作业3.3:这题不会做,参考百度做的。
在这里插入图片描述

思路:输入的数据除以小于自己的数据(且不包含1),看能整除数据的个数,大于1个,即不是质数,只有1个为质数。(也可以包含1,结果为大于2个不是质数,只有两个的为质数。)
a = int(input("输入一个数判断是不是质数:")) 
b = 2
c = 0
while a >= b: #限定条件,该数除以一个小于自己的数且大于1(不包含1)
    if a % b == 0:
        c += 1 #判断有几个可以被整除的
    b += 1 #用小于该数切大于等于2的数被该数除,用结果判断是不是质数
if c > 1: #有两个以上数被整除,即不是质数
    print("该数不是质数")
else: #只有一个数被整除,即为质数
    print("该数是质数")

在这里插入图片描述

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值