《Python语言程序设计》第四章(选择)学习笔记

本篇笔记介绍了Python中的选择语句,包括if、if-else、if-elif-else结构,以及条件表达式的使用。同时讲解了布尔值与逻辑运算符,如not、and、or,还涉及了randint、randrange和random函数的随机数生成,并讨论了判定闰年的逻辑。此外,还提到了运算符的优先级和结合方向。
摘要由CSDN通过智能技术生成

《Python语言程序设计》学习笔记

笔记选自《Python语言程序设计》[美]梁勇 著
本篇笔记没有记录用python绘画的turtle库


第4章 选择

  • 可以使用int函数将布尔值转换为一个整数。
print(int(True)) # 显示1
print(int(False)) # 显示0
  • 可以用bool函数将一个数字值转换成一个布尔值。如果值为0,这个函数返回False;否则,这个函数总返回True。
print(bool(0)) # 显示False
print(bool(4)) # 显示True
  • randint(a,b)可以用来产生一个a和b之间且包括a和b的随机整数;randrange(a,b)产生一个在a、b-1之间的随机整数,它等同于randint(a,b-1)random()函数生成一个满足条件 0 < = r < 1.0 0<=r<1.0 0<=r<1.0的随机浮点数r。
import random
random.random() #返回一个0.0到1.0之间(不包括1.0)的随机浮点数
random.randint(0,1) # 返回0或1
random.randrange(0,1) # 返回0
  • if语句
if boolean-expression:
  statement(s)
  • 双向if-else语句
if boolean-expression:
  statement(s)-for-the-true-case
else:
  statement(s)-for-the-false-case
  • 嵌套if和多向if-elif-else语句
# 嵌套if语句
if i>k:
  if j>k:
    print("i and j are great than k")
else:
  print("i is less than or equal to k")
# 多向if-elif-else语句
if score>=90.0:
  grade='A'
elif score>=80.0:
  grade='B'
elif score>=70.0:
  grade='C'
elif score>=60.0:
  grade='D'
else:
  grade='F'
  • 逻辑运算符
运算符描述
not逻辑否
and逻辑和
or逻辑或
  • 德摩根律

not (condition1 and condition2)not condition1 or not condition2一样
not (condition1 or condition2)not condition1 and not condition2一样

  • 判定闰年:一个年份如果能被4整除但不能被100整除,或能被400整除,那么这个年份就是闰年。

1、非整百年份:能被4整除的是闰年。(如2004年就是闰年,2001年不是闰年)
2、整百年份:能被400整除的是闰年。(如2000年是闰年,1900年不是闰年)

  • 条件表达式
y = 1 if x > 0 else -1
# 等价于
if x>0:
  y=1
else:
  y=-1
  • 运算符的优先级和结合方向:除赋值运算符外,都是从左到右的结合顺序。
优先级从高到低运算符
+-(一元加/减运算符)
**(指数运算符)
not
*///%(乘、除、整除和余数)
+-(二元加/减运算符)
<<=>>=(比较运算符)
==!=(相等运算符)
and
or
=+=-=*=/=//=%=(赋值运算符)

本章总结

  1. 一个布尔类型变量可以存储值TrueFalse
  2. 关系运算符(<<===!=>>=)是数字和字母一起工作的,产生的结果是一个布尔值。
  3. 布尔运算符andornot是在布尔值和变量上的操作。
  4. 当计算p1 and p2时,Python首先计算p1,如果p1为True才计算p2;如果p1为False,那它就不再计算p2。当计算p1 or p2时,Python首先计算p1,如果p1为False才计算p2;如果p1为True那它就不再计算p2。因此,and称为条件或短路AND运算符,而or称为条件或短路OR运算符。
  5. 选择语句是用来解决二选一的程序设计问题。Python有多种类型的选择语句:单向if语句、双向if-else语句、嵌套if-elif-else语句以及条件表达式。
  6. 各种if选择语句都是根据布尔表达式作出控制决定的。根据表达式计算的结果为True还是False,这些语句会采用两个可能选项中的一种。
  7. 算术表达式中的运算符根据括号、运算符优先性以及运算符结合方向等规则决定运算顺序。
  8. 括号可以用来强制改变运算顺序。
  9. 首先计算优先级高的运算符。对于优先级一样的运算符,它们的结合方向决定了计算顺序。

关键术语

英文中文
Boolean expressions布尔表达式
Boolean value布尔值
operator associativity运算符结合方向
operator precedence运算符优先级
random modulerandom模块
selection statements选择语句
short-circuit evaluation短路计算
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值