鱼C论坛

 找回密码
 立即注册
查看: 2637|回复: 6

新手求教

[复制链接]
发表于 2016-3-3 23:08:49 | 显示全部楼层 |阅读模式
1鱼币
本帖最后由 沉默中学习 于 2016-3-10 21:37 编辑
  1. def sum(x):
  2.     x1 = 1
  3.     x2 = 1
  4.     x3 = 1
  5.     while (x - 2) > 0:
  6.         x3 = x1 + x2
  7.         x2 = x3
  8.         x1 = x2
  9.         x -= 1
  10.     return x3
  11. result = sum(12)
  12. print('结果为%d'%result)
复制代码

为什么将x2 = x3 与 x1 =x2两行交换得到的结果不一样
(刚接触编程,求教)

最佳答案

查看完整内容

是问交换成 吗? 第一个的x2被赋了x3的值之后才用其去给x1赋值——>即x1 = x3 第二个x2被x3赋值发生在之后,所以x1被x2赋值时,是以x2的本身值赋值的
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-3-3 23:08:50 | 显示全部楼层
  1.         x2 = x3
  2.         x1 = x2
复制代码

是问交换成
  1.         x1 = x2
  2.         x2 = x3
复制代码

吗?
第一个的x2被赋了x3的值之后才用其去给x1赋值——>即x1 = x3
第二个x2被x3赋值发生在之后,所以x1被x2赋值时,是以x2的本身值赋值的

评分

参与人数 1荣誉 +3 鱼币 +2 收起 理由
沉默中学习 + 3 + 2 热爱鱼C^_^

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2016-3-3 23:17:49 | 显示全部楼层
Lnan95 发表于 2016-3-3 23:13
是问交换成

吗?

懂了,谢啦
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-3-4 20:12:38 | 显示全部楼层
楼主可以写成这样的形式:
x2, x1 = x3, x2
就不用担心产生逻辑错误
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-3-5 09:21:10 | 显示全部楼层
赋值部分发生错误
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2016-3-10 21:31:27 | 显示全部楼层
python_02 发表于 2016-3-4 20:12
楼主可以写成这样的形式:
x2, x1 = x3, x2
就不用担心产生逻辑错误

好的,谢啦
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-5-7 23:36:47 | 显示全部楼层
赋值顺序问题,逻辑
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-2-19 23:39

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表