写点什么

挑战 30 天学完 Python:Day3 夯实基础 - 布尔值和运算符

作者:MegaQi
  • 2022 年 9 月 21 日
    上海
  • 本文字数:3982 字

    阅读完需:约 13 分钟

挑战30天学完Python:Day3夯实基础-布尔值和运算符

🎉 本系列为 Python 基础学习,原稿来源于 github 英文项目,大奇主要是对其本地化翻译、逐条验证和补充,想通过 30 天完成正儿八经的系统化实践。此系列适合零基础同学,会简单用但又没有系统学习的使用者。总之如果你想提升自己的 Python 技能,欢迎加入《挑战 30 天学完 Python》。

作者:大奇 MegaQi | Info 签约作者 ,专注测试开发技术实战干货分享,欢迎访问主页长期关注。

布尔值

布尔数据类型表示以下两个值之一:TrueFalse

请注意,与 JavaScript 不同 Python 中的布尔值首字要大写

# 示例:布尔值print(True)print(False)
复制代码


在比较两个值时,将对表达式求值,Python 返回布尔值答案,比较运算符下面就会讲到。

print(10 > 9)  # Trueprint(10 == 9) # Falseprint(10 < 9)  # False
复制代码


值得一提的是大多数值都为 True

  • 如果有某种内容(如 Object、Class),则几乎所有值都将评估为 True。

  • 除空字符串外,任何字符串均为 True。

  • 除 0 外,任何数字均为 True。

  • 除空列表外,任何列表、元组、集合和字典均为 True。


以下实例都将返回 True

bool("Hello")bool(123456)bool(["apple", "cherry", "banana"])
复制代码


以下实例都将返回 False

bool(False)bool(None)bool(0)bool("")bool(())bool([])bool({})
复制代码

运算符

运算符用于对变量和值的执行操作。Python 语言支持多种类型的运算符,在本节将重点介绍其中的几个。

赋值运算

赋值运算符用于为变量赋值。我们以=为例。数学中的它表示两个值相等,但在 Python 则意味着将一个值存储在某个变量中,我们称之为赋值或给变量赋值。下表显示了不同类型的 python 赋值运算符,取自 w3school。


📖w3school https://www.w3schools.cn/python/python_operators.asp


算数运算

  • 加法(+):a + b

  • 减法(-):a - b

  • 乘法(*):a * b

  • 除法(/):a / b

  • 求余(%):a % b

  • 求商(//): a // b

  • 求幂(**):a ** b



示例:整数

# Python中的算数运算# 整数
print('加法Addition: ', 1 + 2) # 3print('减法Subtraction: ', 2 - 1) # 1print('求幂miMultiplication: ', 2 * 3) # 6
# 在Python中除法得到结果是浮点类型print('除法Division: ', 4 / 2) # 2.0 print('除法Division: ', 7 / 2) # 3.5print('求商: ', 7 // 2) # 3print('Division without the remainder: ',7 // 3) # 2print('求余Modulus: ', 3 % 2) # 1print('幂: ', 2 ** 3) # 8, 可理解为 2 * 2 * 2
复制代码


示例:浮点

# 浮点数print('PI', 3.14)print('gravity', 9.81)
复制代码


示例:复数

# Complex numbersprint('Complex number: ', 1 + 1j)print('Multiplying complex numbers: ',(1 + 1j) * (1 - 1j))
复制代码


继续让我们声明一个变量并分配一个数字数据类型。笔者将使用单个字符变量,但请记住不要养成声明此类变量的习惯。变量名应该始终便于记忆。

代码例子 1:

# 首先在顶部声明变量
a = 3 # a是变量名,3是整数b = 2 # b是变量名,2是整数
# 进行运算并将结果赋值给新的变量total = a + bdiff = a - bproduct = a * bdivision = a / bremainder = a % bfloor_division = a // bexponential = a ** b
# 总数表示本应该用sum,但是它是pyhon的关键词,为了避免重复用了total代替print('a + b = ', total)print('a - b = ', diff)print('a * b = ', product)print('a / b = ', division)print('a % b = ', remainder)print('a // b = ', floor_division)print('a ** b = ', exponential)
复制代码


代码例子 2:

print('== Addition, Subtraction, Multiplication, Division, Modulus ==')
# 声明变量值,并将他们进行组合运算num_one = 3num_two = 4
# 算术运算total = num_one + num_twodiff = num_two - num_oneproduct = num_one * num_twodiv = num_two / num_oneremainder = num_two % num_one
# 打印计算后并赋值给新变量的值print('total: ', total)print('difference: ', diff)print('product: ', product)print('division: ', div)print('remainder: ', remainder)
复制代码


接着让我们利用学到的知识点,计算面积、体积、密度、重量、周长、距离、力等。

代码例子 3:

# 计算圆的面积radius = 10                                 # 圆的半径area_of_circle = 3.14 * radius ** 2         # 两个星(**)表示指数print('Area of a circle:', area_of_circle)
# 计算矩形的面积length = 10width = 20area_of_rectangle = length * widthprint('Area of rectangle:', area_of_rectangle)
# 计算物体的重量mass = 75gravity = 9.81weight = mass * gravityprint(weight, 'N')
# 计算液体的密度mass = 75 # KGvolume = 0.075 # 立方米density = mass / volume # 1000 Kg/m^3
复制代码

比较运算

在编程中我们比较值时,使用比较运算符进行比较。即检查一个值是否大于或小于或等于其他值。<br />



示例:比较运算符

print(3 > 2)     # True, 因为 3 大于 2print(3 >= 2)    # True, 因为 3 大于 2print(3 < 2)     # False,  因为 3 大于 2print(2 < 3)     # True, 因为 2 小于 3print(2 <= 3)    # True, 因为 2 小于 3print(3 == 2)    # False, 因为 3 不等于 2print(3 != 2)    # True, 因为 3 确实不等于 2print(len('mango') == len('avocado'))  # Falseprint(len('mango') != len('avocado'))  # Trueprint(len('mango') < len('avocado'))   # Trueprint(len('milk') != len('meat'))      # Falseprint(len('milk') == len('meat'))      # Trueprint(len('tomato') == len('potato'))  # Trueprint(len('python') > len('dragon'))   # False

# 比较两个对象并给出值print('True == True: ', True == True) # Trueprint('True == False: ', True == False) # Falseprint('False == False:', False == False) # True
复制代码


除了上面的比较操作符,在 Python 还使用这些:

  • is:如果两个变量是同一个对象,则返回 true(x 是 y)

  • is not:如果两个变量不是同一个对象(x 不是 y),则返回 true

  • in:如果查询的列表包含某个项(x in y),则返回 True

  • not in:如果查询的列表没有某个项(x in y),则返回 True

print('1 is 1', 1 is 1)                   # True # 第一条 如果python shell 中运行此条会有个警告 (下面数值比较也类似)# <stdin>:1: SyntaxWarning: "is" with a literal. Did you mean "=="?# 忽略即可,也就是值比较的时候建议用==
print('1 is not 2', 1 is not 2) # Trueprint('M in MegaQi', 'M' in 'MegaQi') # Trueprint('B in MegaQi', 'B' in 'MegaQi') # False print('coding' in 'coding for all') # Trueprint('a in an:', 'a' in 'an') # Trueprint('4 is 2 ** 2:', 4 is 2 ** 2) # True
复制代码

逻辑运算

与其他编程语言不同,python 使用关键字and , ornot作为逻辑运算符。逻辑运算符用于组合条件语句:



print(3 > 2 and 4 > 3) # True - 因为两个比较结果都是Trueprint(3 > 2 and 4 < 3) # False - 因为第二比较为Falseprint(3 < 2 and 4 < 3) # False - 因为两个比较都为Falseprint('True and True: ', True and True)print(3 > 2 or 4 > 3)  # True - 因为两个比较结果都是Trueprint(3 > 2 or 4 < 3)  # True - 因为第一个表述为真print(3 < 2 or 4 < 3)  # False - 因为两个比较表述都为假print('True or False:', True or False)print(not 3 > 2)     # False - 因为 3 > 2 是 true, 然后 True 反向为 Falseprint(not True)      # False - 反转操作  不为 true 则 falseprint(not False)     # Trueprint(not not True)  # Trueprint(not not False) # False
复制代码


🌕你有无限的能量。你刚刚完成了第 3 天的挑战。按照惯例现在做一些练习来巩固下所学内容吧。<a name="fcvx6"></a>

第 3 天练习

  1. 将你的年龄声明为整数变量

  2. 将你的身高声明为浮点变量

  3. 声明一个存储复数的变量

  4. 编写一个脚本,提示用户输入三角形的底和高,并计算这个三角形的面积(面积 = 0.5 x 底 x 高)

输入三角形底长 base: 20输入三角形垂直高 height: 10计算三角形面积是 100
复制代码


  1. 编写一个脚本,提示用户输入三角形的 a 边、b 边和 c 边。计算三角形的周长(周长 = a + b + c)

输入边 a: 5输入边 b: 4输入边 c: 3三角形周长计算得 12
复制代码


  1. 使用提示获取矩形的长度和宽度。计算它的面积(面积 = 长 x 宽)和周长(周长 = 2 x(长 + 宽))

  2. 使用提示获取圆的半径。计算面积(面积 = pi * r * r)和周长(c = 2 * pi * r),其中 pi = 3.14

  3. 计算y = 2x -2 的斜率,以及 x 截距和 y 截距

  4. 斜率 k =(y2-y1)/(x2-x1) 求点(2,2)和点(6,10)之间的斜率 K 和欧氏距离(二维空间两点距离)

  5. 比较练习题 8 和 9 的所得得斜率

  6. 对于公式y = x^2 + 6x + 9 尝试 x 带入几个不同的值计算出 y 值,并找出 x 等于多少的时候 y=0

  7. 对字符串 "python" 和 "dragon" 计算出长度,并做一种运算使得结果等于 False

  8. 使用 and符号检查 "on" 是否同时存在"python"和"dragon"

  9. 使用 in 符号检查字符串 jargon 是否存在_ I hope this course is not full of jargon 这句话中_

  10. 实现运算符表达:字符串 "on" 都不存在 dragon 和 python

  11. 计算字符串"python"的长度,并将其转成 float ,然后再转成字符串类型

  12. 一个偶数是能被 2 整数余数为 0,所以在 python 中如何判断一个是偶数还是奇数呢?

  13. 检查以下 7 除以 2 转成 int 类型的值与 2.7 转成 int 的值是否相等

  14. 检查 "10" 的类型 和 10 的类型是否相同(提示使用 type)

  15. 检查 int(9.8) 是否与等于 10

  16. 写一个脚本,让用户输入工作时长(小时)和每小时的费用,计算应得的工资

请输入时长(小时): 40请输入时薪水: 28您应得的费用为:1120
复制代码


  1. 写一个脚本,从用户输入得到 N 年,然后计算出总共有多少秒

  2. 写一个 Python 脚本完成下边的表格打印

1 1 1 1 12 1 2 4 83 1 3 9 274 1 4 16 645 1 5 25 125
复制代码


🎉 CONGRATULATIONS ! 🎉

发布于: 1 小时前阅读数: 12
用户头像

MegaQi

关注

InfoQ签约作者 |公众号: 大奇测试开发 2018.02.15 加入

分享一些系列测试平台开发教程,也记录一些自己研究的技术,遇到的问题,总之想分享一些干货内容,愿给这个行业贡献微不足道的力量,不断突破不断成长。

评论

发布
暂无评论
挑战30天学完Python:Day3夯实基础-布尔值和运算符_9月月更_MegaQi_InfoQ写作社区