python学习第四天

回顾
1、类型转换函数
int(x)
float(x=0)
bool([x])
结果为假的情况:

0
0.0
0j
False
None
空容器

2、运算符
算术运算符
+ - * / // ** %
复合赋值运算符
+= -= *= /= //= **= %=
比较运算符
< <= > >= == !=
返回值:bool

    链氏比较
        0 <= age <= 200

逻辑运算符
    not
    and
    or

is/is not
    判断变量是否绑定的是同一个对象

    id(object)

混合使用:运算符的优先级

3、语句
逻辑行 物理行

a=10;b=20;c=30    # 不推荐

一条语句为一行(物理行)

语句换行:
    隐式换行: ()  []  {}
    显式换行: \

扩展:
程序执行的3个大结构:
顺序结构:默认
执行从上至下、从左至右

    分支(选择)结构:
        if 语句

    循环结构:
        while语句、for语句

程序 = 数据结构 + 算法 + 语法结构

1、if语句 【重点】
作用:
有选择性的执行某条或某些语句。
格式:
if 条件表达式:
满足if条件表达式执行的语句

    if 条件表达式:
        满足if条件表达式执行的语句
    else:
        不满足if条件表达式执行的语句

    if 条件表达式1:
        满足if条件表达式1执行的语句
    elif 条件表达式2:
        满足elif条件表达式2执行的语句
    ...   # elif可以写多个(视情况而定)
    else:
        以上条件表达式都不满足执行的语句

    条件关系:互斥

语法1:if

age = int(input(‘请输入年龄:’))

if age > 10: # 主要是age大于10了

print(‘欢迎来到老毕的课堂’)

sex = input(‘请输入性别:’)
if sex == ‘男’:
print(‘你好,先生’)
print(‘你好,女士’)

语法2:if - else

sex = input(‘请输入性别:’)

if sex == ‘男’:

print(‘你好,先生’)

else: # 否则

print(‘你好,女士’)

思考:

正常情况:男、女

用户输入: nv nan man men

sex = input(‘请输入性别:’)

if sex == ‘男’:

print(‘你好,先生’)

if sex == ‘女’:

print(‘你好,女士’)

else: # 否则

print(‘您的输入有误’)

sex = input(‘请输入性别:’)
if sex == ‘男’:
print(‘你好,先生’)

if sex == ‘女’:
print(‘你好,女士’)

如果输入的结果不符合要求:应该需要提示

语法2:if - elif-else

sex = input(‘请输入性别:’)
if sex == ‘男’:
print(‘你好,先生’)
elif sex == ‘女’:
print(‘你好,女士’)
else:
print(‘输入错误’)

print(‘判断结束’)

代码调试(debug): 【重点】【重点】
    1、设置断点(点击行号右边)
    2、右击选择 debug 模式
    3、点击 下箭头 或 F7【shift + F7】

    1、不要为input函数处设置断点(会进入底层)
    2、取消断点(再点击断点位置)

快捷键:
    ctrl + alt + L   格式化代码
    ctrl + D         复制光标所在行到下一行
    shift + enter    将光标切换至下一行
    ctrl + Y         删除光标所在行

练习:
    闰年:
        使用if语句实现对闰年的判断
        如果是闰年,则打印 xxx 年是闰年
        如果不是闰年,则打印 xxx 年是平年

    成绩判断
        [0, 60)    E
        [60, 70)   D
        [70, 80)   C
        [80, 90)   B
        [90, 100]  A

if语句嵌套: 【重点】
    if语句中嵌套if语句
        建议:嵌套的层数不要超过3层

if语句嵌套

month = int(input(‘请输入一个月份:’))

输入月份正确,才判断是哪个季节

if 1 <= month < 13:
if 3 <= month <= 5:
print(‘春季’)
elif 6 <= month <= 8:
print(‘夏季’)
elif 9 <= month <= 11:
print(‘秋季’)
else:
print(‘冬季’)
else: # 输入月份错误
print(‘月份输入错误’)
if 真值表达式 【重点】
格式:
表达式1 if 条件表达式 else 表达式2
规则:
条件表达式成立,则返回表达式1,否则返回表达式2
说明:
js: if 条件表达式 ? 表达式1 : 表达式2

        三目运算符
    场景:
        简单的事物只有2种情况的判断
    缺点:
        代码可读性差

if 真值表达式

需求:判断一个数是否为偶数

num = int(input(“请输入一个整数:”))

-4 --> 4 取绝对值

num = abs(num)

print(num)

if num % 2 == 0:

print(‘偶数’)

else:

print(‘奇数’)

if 真值表达式

print(‘偶数’ if num % 2 == 0 else ‘奇数’)

print(‘偶数’ if not num % 2 else ‘奇数’)

比较输入两个数的大小,打印最大的值

a = float(input(‘请输入一个数:’))

b = float(input(‘请输入一个数:’))

if a > b:

print(a)

else:

print(b)

print(a if a > b else b)

a = float(input(‘请输入一个数:’))

b = float(input(‘请输入一个数:’))

if a > b:

print(a)

elif a == b:

print(a)

else:

print(b)

局限性:一般用于表示事物只有2种结果

print(a if a > b else b)

缺点:代码可读性变差

year = int(input(‘请输入年份:’))

result = not year % 4 and year % 100 or not year % 400

if result:

print(year, ‘年是闰年’)

else:

print(year, ‘年是平年’)

print(‘闰年’ if not year % 4 and year % 100 or not year % 400 else “平年”)

判断真假

a = float(input(‘请输入一个数:’))
b = float(input(‘请输入一个数:’))

if a == b:
print(“相等”)
else:
print(‘不相等’)

result = “相等” if a == b else ‘不相等’
print(result)

成绩判断

[0, 60) E

[60, 70) D

[70, 80) C

[80, 90) B

[90, 100] A

score = float(input(‘请输入一个成绩:’))

if 0 <= score <= 100:
if score < 60:
print(‘E’)
elif 60 <= score < 70:
print(‘D’)
elif 70 <= score < 80:
print(‘C’)
elif 80 <= score < 90:
print(‘B’)
else:
print(‘A’)
else:
print(‘成绩超过了范围’)

闰年:

使用if语句实现对闰年的判断

如果是闰年,则打印 xxx 年是闰年

如果不是闰年,则打印 xxx 年是平年

year = int(input(‘请输入年份:’))

将结果赋值给变量

result = year%40 and year%100!=0 or year%4000

result = not year % 4 and year % 100 or not year % 400

if result:
print(year, ‘年是闰年’)
else:
print(year, ‘年是平年’)

作业:
1. 模拟计算北京出租车计价
1、起步价为13元,包含3公里
2、超过3公里,但不超过15公里(包含),每公里2.3元
3、超过15公里,每公里加收2.3元的50%

2、输入4个学生的成绩
   打印出4个成绩中的最高成绩。

2、while循环语句
作用:根据一定的条件重复执行一条或多条语句
格式:
while 真值表达式:
循环体
else:
语句块
说明:
1、循环判断真值表达式是否成立
2、成立执行循环体(一条或多条语句)
3、不成立则执行else下的语句块(一条或多条语句)
else语句可以省略

while循环语句

打印1 … 20

start_num = 1 # 初始值

while start_num <= 5: # 循环

# 循环体

print(start_num)

start_num += 1 # 自增

start_num = 5 # 初始值
while start_num >= 1: # 循环

循环体

print(start_num)
start_num -= 1 # 自减

思考:

打印 1-20之间的数,每5个数打印一行,打印出4行

print(1)

print(2)

print(3)

print(20)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

XU AE86

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值