Python 赋值运算符详解 | 从 = 到 +=,一张记账单讲清复合赋值

【Python案例】记账小本本 ------ 赋值运算符与复合赋值

案例需求

小丽的钱包里一开始有 200 元。接下来几天,她做了这么几件事:

  1. 买早餐花了 15 元;
  2. 收到一个 50 元红包;
  3. 买了 3 份 水果,每份 12 元;
  4. 月底钱包余额 翻了一倍;
  5. 最后把这笔钱平均分成 7 天的生活费。

请写一个程序,把每一步之后的余额都打印出来。

案例实现

第 1 步:先记下初始余额 200 元。

python 复制代码
money = 200
print("初始余额:", money)

第 2 步 :花钱用 -=,进账用 +=。money -= 15 的意思是:先把 money 里的钱减去 15,再把结果存回 money。

python 复制代码
money -= 15
print("买早餐花 15 元后:", money)

money += 50
print("收到红包 50 元后:", money)

第 3 步 :-= 右边也可以是一个算式。Python 会先把 12 * 3 算出来,再从 money 里减掉。

python 复制代码
money -= 12 * 3
print("买 3 份水果(每份 12 元)后:", money)

第 4 步 :翻倍用 *=,平均分摊用 //=(整除赋值,只保留整数部分)。

python 复制代码
money *= 2
print("余额翻倍后:", money)

money //= 7
print("平均分成 7 天,每天可用:", money)

完整代码:

python 复制代码
money = 200
print("初始余额:", money)

money -= 15
print("买早餐花 15 元后:", money)

money += 50
print("收到红包 50 元后:", money)

money -= 12 * 3
print("买 3 份水果(每份 12 元)后:", money)

money *= 2
print("余额翻倍后:", money)

money //= 7
print("平均分成 7 天,每天可用:", money)

运行结果:

复制代码
初始余额: 200
买早餐花 15 元后: 185
收到红包 50 元后: 235
买 3 份水果(每份 12 元)后: 199
余额翻倍后: 398
平均分成 7 天,每天可用: 56

案例解析

  • = 是赋值,不是"相等"判断 :money = 200 的意思是"把 200 存进变量 money 里"。判断相等要用 ==,两者别搞混。
  • 复合赋值运算符 :a += b 就是 a = a + b 的简写;-=、*=、/=、//=、%=、**= 也一样,都是先把右边的值算出来,再存回左边那个变量。
  • 右边可以先算好 :money -= 12 * 3 会先算出 12 * 3 是 36,再执行 money -= 36,写起来更简洁。
  • 变量得先有值 :要先写 money = 200,后面才能写 money -= 15。要是没赋值就直接写 money -= 15,Python 会报 NameError------它不知道 money 原来是多少。
  • //= 会丢掉小数 :398 // 7 得 56(因为 7 × 56 = 392,还剩下 6 元),不是 56.857...。算平均值的时候得先想清楚:这里要的是整数还是小数。

相关练习

一、题目

1.(选择题) 先执行 x = 5,再执行 x += 3,此时 x 的值是(  )。

  • A. 3
  • B. 5
  • C. 8
  • D. 53

2.(填空题) 已知 n = 10,执行 n *= 2 后 n 的值是 ________;再执行 n //= 4 后 n 的值是 ________。

3.(判断题) 在 Python 中,= 和 == 的作用完全相同,可以互换使用。(  )

4.(简答题) 已知 count = 7,请只用一行复合赋值语句,把 count 变成 70(不能直接写 count = 70)。

二、参考答案与解析

1. 答案:C

解析:x += 3 就是 x = x + 3,原来的 5 加 3 得 8,再存回 x。

2. 答案:20;5

解析:n *= 2 让 n 从 10 变成 20;接着 n //= 4,20 除以 4 正好整除得 5,所以 n 变成 5。

3. 答案:错误(×)

解析:= 是赋值运算符 ,把右边的值存进左边的变量;== 是比较运算符 ,判断两边是否相等,结果只有 True 或 False。x = 5 和 x == 5 完全是两回事。

4. 答案:count *= 10

解析:count *= 10 就是 count = count * 10,7 乘 10 得 70。

声明:本文部分内容由人工智能辅助生成。

相关推荐
小七-七牛开发者6 分钟前
让 Go 走得更远:用 LLGo 打通 Go 与 C/C++/Python 生态
python·编程·编译器·llvm·llgo
CyrusYiVPP1 小时前
实测 Ollama 本地部署:我用 Python 搓了个离线问答机器人,Qwen4 27B 一到换个模型名就能用
人工智能·python
2601_967980112 小时前
Python中flatten( )函数及函数用法详解
python·numpy·数组操作·flatten函数·列表处理
xbzb2 小时前
自定义 yum 软件源:Linux 上 createrepo,Windows 上纯 Python 也能造
linux·运维·windows·python·yum·createrepo
噢,我明白了4 小时前
JAVA中的一些基础应用知识点
java·开发语言
时间的拾荒人5 小时前
Redis 入门详解:核心特性、重要文件与全局命令实战
开发语言·redis·面试
敲上瘾5 小时前
Qt Widgets入门:项目模板解析与Hello World
开发语言·数据库·c++·qt·ui·qt6.3
合尘猫5 小时前
图片表格变结构化数据:OCR 后的三个坑
python·ocr
小小张说故事5 小时前
Python 里弱引用到底弱在哪:拆开 weakref.ref、回调陷阱和 WeakValueDictionary
python
用户019027581616 小时前
用 DuckDB 存查 A 股 K 线:零服务、SQL 直接分析
python