Python - 斐波那契函数变量值声明之间的差异

2023-12-13

我是 python 的初学者。我正在研究一种制作斐波那契函数的类型,

def fib(n):
a=0
b=1
while a<n:
    print a
    a,b=b,a+b

我看到了 a,b=b,a+b 声明。所以,我认为 a=b 和 b=a+b 与 a,b=a,b+a 相同,所以我将函数更改为如下所示:

def fib(n):
a=0
b=1
while a<n:
    print a
    a=b
    b=a+b

我认为这是正确的,但是当我执行该程序时,我得到了不同的输出。有人可以向我解释这两种类型的声明之间的区别吗?

不管怎么说,还是要谢谢你。


b, a+b创建一个包含这两个值的元组。然后a, b = ...解压元组并将其值分配给变量。然而,在您的代码中,您覆盖了第一个的值,因此第二行使用新值。

a, b = b, a + b

大致等于:

tmp = a
a = b
b = tmp + b
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python - 斐波那契函数变量值声明之间的差异 的相关文章

  • Python - Pandas - 将特定函数应用于给定级别 - 多索引数据帧

    我有一个多索引 DataFrame 并且我希望仅对分配给我的级别之一的向量应用一些计算 使用下面的代码 import pandas as pd import datetime ticker date US datetime date tod
  • 为什么 Python zipfile 不提供与命令行 zip 相同的输出 .zip 文件大小?

    这是生成的文件的大小zip seq 10000 gt 1 txt zip 1 1 txt adding 1 txt deflated 54 ls og 1 zip rw r r 1 22762 Aug 29 10 04 1 zip 这是一个
  • 使用组合时如何解决循环依赖?

    我遇到了如下所示的情况 其中每个类都需要另一个类 并且它创建了循环依赖关系 我在使用 ctypes 包装一些 C 代码时遇到了这种情况 已经有很多关于这个主题的帖子 但我发现它们没有帮助 我需要一些例子 Module A from B im
  • Jupyter Notebook 找不到 IQSharp

    我一直在尝试为 Quantum Katas 运行 Q 但在找到 Q 内核方面遇到了一些困难 唯一显示的内核是用于 Jupyter Notebook 的 Python 3 内核 奇怪的是 当我执行 jupyter kernalspec lis
  • PyQt5 - 无法使用 QVideoWidget 播放视频

    from PyQt5 QtWidgets import from PyQt5 QtMultimedia import from PyQt5 QtMultimediaWidgets import from PyQt5 QtCore impor
  • 确定列的累积最大值

    我正在尝试以下代码 df pd DataFrame 23 52 36 49 52 61 75 82 97 12 columns A B df C np where df A gt df C shift df A df C shift pri
  • 使用 Numpy 与 einsum 和 tensordot 进行相同的操作

    假设我有两个 3D 数组A and B形状的 3 4 N and 4 3 N 我可以计算沿第三轴的切片之间的点积 with einsum np eisum ikl kjl gt ijl A B 是否可以执行相同的操作numpy tensor
  • Python:像石英一样的事件调度程序[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • pandas dataframe 对列进行排序会引发索引上的 keyerror

    我有以下数据框 df peaklatency snr 0 52 99 0 0 1 54 15 62 000000 2 54 12 82 000000 3 54 64 52 000000 4 54 57 42 000000 5 54 13 7
  • Groupby Sum 忽略几列

    在此数据框中 我想按 位置 进行分组并获得 分数 的总和 但我不希望 纬度 经度 和 年份 在此过程中受到影响 sample pd DataFrame Location A B C A B C Year 2001 2002 2003 200
  • pyqt4窗口调整大小事件

    我正在使用 python3 和 pyqt4 我希望每次运行时都会运行一些代码QMainWindow已调整大小 我想要这样的东西 self window resized connect self resize but resized不是内置函
  • 如何使用httplib2进行相互证书认证

    我正在使用 httplib2 从我的服务器向另一个 Web 服务发出请求 我们想要使用相互证书身份验证 我了解如何使用证书进行传出连接 h set certificate 但是如何检查应答服务器使用的证书 这张票 http code goo
  • CTRL-C 在 Python 中的行为有所不同

    I ve recently started learning Python long time Java programmer here and currently in the process of writing some simple
  • 使用 matplotlib 在 python3 中对多个形状进行动画处理

    尝试在 python3 中使用 matplotlib 动画函数同时对多个对象进行动画处理 下面写的代码是我到目前为止的位置 我能够创建多个对象并将它们显示在图中 我通过使用包含矩形补丁函数的 for 循环来完成此操作 从这里开始 我希望通过
  • 为什么Python安装程序不断弹出?

    每当我尝试运行 Python 文件时 都会自动弹出此窗口 虽然 我可以关闭它 但有时它会连续打开 7 10 个窗口 这令人恼火 谁能告诉我为什么会发生这种情况 None
  • Python UPnP/IGD 客户端实现?

    我正在寻找一个开源实现UPnP http elinux org UPnPPython 中的客户端 更具体地说是它的互联网网关设备 http en wikipedia org wiki Internet Gateway Device Prot
  • 加入语音频道(discord.py)

    当我尝试让我的机器人加入我的语音频道时 出现以下错误 await client join voice channel voice channel 产生错误的行 Traceback most recent call last File usr
  • 如何提高大规模数据帧上 lambda 函数的性能

    我有一个df超过数亿行 latitude longitude time VAL 0 39 20000076293945312500 140 80000305175781250000 1972 01 19 13 00 00 1 2000000
  • python 根据日期创建目录结构

    我使用以下函数根据今天的日期创建目录 usr bin python import time datetime os today datetime date today todaystr today isoformat os mkdir to
  • Django 多个外键,相同的相关名称

    我想创建一个模型 1 其中具有相同其他模型 2 的多个外键 我希望这些外键具有相同的related name因为每个外键将指向 model 2 的不同实例 因为我需要所有外键的一个反向关系 也许一个例子会更明确 class Parent M

随机推荐

  • ASP.Net LinkBut​​ton CommandArgument 属性忽略 <%= .. %>

    我正在尝试执行我认为非常简单的操作来在 ASP Net LinkBut ton 控件上设置属性 但由于某种原因 ASP Net 忽略标签并仅将值作为字符串传递
  • 如何像 Mathematica 那样执行这种不正确的积分?

    拿这个 Mathematica 代码 f x Exp x c 0 9 g x c x c 1 Exp x c SetPrecision Integrate f x Log f x g x x 0 001 Infinity 20 Mathem
  • 选择表中两个日期列之间的所有日期

    我有一个这样的表 Id From To 1 2018 01 28 2018 02 01 2 2018 02 10 2018 02 12 3 2018 02 27 2018 03 01 如何获取之间的所有日期From and To像这样的日期
  • 用ggplot中的线连接分组点[重复]

    这个问题在这里已经有答案了 我有一个包含两个分类条件的数据集 条件 A 具有级别 A1 和 A2 条件 B 具有级别 B1 和 B2 每个测量对象提供四个数据点 一个数据点对应两种条件的每种组合 我已经绘制了各个数据点 添加了一些抖动 并希
  • 从 xmltype oracle 中删除空标签

    我想尝试从 xmltype 中删除空标签 我已经从 oracle 类型生成了以下 xml 在集合中 少数元素没有值 因此我使用空标签生成 任何人都可以帮我吗 实际输出
  • PHPmailer 重复电子邮件问题 - $mail->Send() 的条件语句

    我遇到了 PHPmailer 版本 5 1 的一个奇怪问题 我正在尝试解决该问题 我在这里看到了很多很好的反馈 所以我想我应该尝试一下 我发现当我尝试创建带有基于条件语句的自定义确认消息时 mail gt send 我收到重复的电子邮件 我
  • Android中如何将图像转换为字符串?

    It s my MySql DB Its encoding public String convertBitmapToString Bitmap bmp ByteArrayOutputStream stream new ByteArrayO
  • Android 上的系统音频流通过 Webrtc

    我正在尝试使用 Webrtc 在 Android 上构建屏幕共享应用程序 我可以使用 mediaprojection webrtc 共享屏幕 但无法共享系统音频 Mediaprojection 在 AudioPlaybackCaptureC
  • JSlint:意外的“for”[重复]

    这个问题在这里已经有答案了 我一直在用单选按钮进行测试 一切看起来都很好 直到我通过 JS lint 运行它 我修复了除一个错误之外的所有错误 意想不到的 为 for i 0 i lt radios length i 1 这是我的 Java
  • Android SQLite 中的更新功能不起作用

    在我的应用程序中 我需要向 SQLite 数据库添加和编辑数据 当我更新数据功能应用程序时 不会给出任何错误 但我的数据库不会更新 这是我的更新功能 我在网上搜索了两天但无法做到这一点 请帮我 public long updateEvent
  • D3 百分比上标

    我想得到一个小百分号上标 我找到了一个有效的示例 但没有百分比 var svgText svg append text text This is a test mm 有没有一种方法可以让我对百分比做同样的事情 text function d
  • 为什么 char* 总是使用字符串的 len 传递给 FUNCTION

    我最近正在学习c c 但我不明白两者之间的区别 int a chat str int len cout lt
  • 从命令行传递的 WiX 条件属性不起作用?

    我有一个属性用于确定是否安装需要通过命令行参数传递的快捷方式 当我在 wxs 文件中设置属性时 这些条件似乎有效 但通过命令行设置它们时 它们似乎被忽略 从日志中我看到它们正在被设置 MSI s 24 C8 11 01 32 234 PRO
  • 如何用Libvlcsharp实现循环播放

    我的 Windows 和 Android 项目都有 libvlcsharp 工作 它非常好用且易于使用 但我找不到任何方法让播放自动循环 我尝试使用媒体播放器事件处理程序重新启动播放并在创建后将选项传递到媒体中 但似乎没有任何效果 I tr
  • 在Apple App Store中自定义标题图像和背景颜色[重复]

    这个问题在这里已经有答案了 我遇到了一些具有定制应用程序商店的应用程序 OkCupid Badoo POF 还有更多 其中包括自定义标题图像和自定义背景颜色以及中间的渐变 我们如何为我们的应用程序添加这些 截图示例 是的 您可以更改检查以下
  • 从其他服务器访问图像

    我将图像文件放置在一台服务器上 将应用程序放置在另一台服务器上 我想访问该图像 下面是我编写的代码 在default aspx上 我有
  • 从数据库检索数据并设置为 Kivy 中的文本输入字段和图像小部件,以实现多屏应用程序!属性错误

    我正在通过拼凑一个小应用程序来了解不同小部件的行为来学习 kivy 什么有效 该应用程序接受文本和图像作为输入并存储到数据库中 存储的数据使用 RecycleView 正确显示在按钮上 Problem 按下 RecycleView 上的按钮
  • Google 日历 API 日期时间

    我正在尝试让 Google Calendar Api 正常工作 如果不使用我的 POST 日期时间 它就可以完美工作 但日期是像谷歌那样硬编码的 这不是我想要的 当我使用 POST 变量时 它向我显示以下错误 Fatal error Unc
  • 如何在没有QProxyStyle的情况下修改样式提示?

    我使用 Qt 的 Python 绑定 PySide 或 PyQt4 他们没有QProxyStyle 我想更改样式提示的值 例如改变SH Menu SubMenuPopupDelay子菜单弹出延迟时间 在本机 C Qt 中我会使用QProxy
  • Python - 斐波那契函数变量值声明之间的差异

    我是 python 的初学者 我正在研究一种制作斐波那契函数的类型 def fib n a 0 b 1 while a