为什么一个变量的值似乎覆盖了另一个?

塞巴斯蒂安·普日比尔斯基

我有一些简单的代码,可以通过执行 y2-y1/x2-x1 来找到 m 的值。但是,由于某种原因, 的值x1被 覆盖x2这很奇怪,因为y1不会发生同样的情况y2

这是代码:

def asker():
    global y2
    global y1
    global x1
    global x2
    y2 = float(input("What's your y2 value?:"))
    y1 = float(input("What is your y1 value?"))
    x2 = float(input("What is your x2 value?:"))
    x1 = float(input("What is your x1 value?:"))

#Lots of coding until:

 elif equation == 'point':
        while True:
             slope = input("Do you need to find slope? Type 'yes' or 'no'.")
             if slope == 'yes':
                asker()
                m = y2-y1/x2-x1
                stringer()
                break
             elif slope == 'no':
                m = input("What is the slope?")
                y1 = float(input("What is your y1 value?"))
                x1 = float(input("What is your x1 value?:"))
                break
             else:
                print("Must enter in either 'yes' or 'no'")
                continue

        m,y1,x1 = str(m),str(y1),str(x1)

        print("Your equation is: y - {} = {}(x - {})".format(y1,m,x1))

我打印出该if slope == 'yes'部分中的所有值,并且所有值都是正确的。我在 if/elif/else 语句之外做了同样的事情,并且除了某些原因 x2 覆盖了 x1 之外,所有以前的值都被保留了下来。

如果您需要,这里是我整个文件的链接:https : //repl.it/repls/KeyScientificGraduate

里奇·史密斯

查看 stringer() 函数中作业的左侧。

y1,x1,y2,x1,m = str(y1),str(x1),str(y2),str(x2),str(m)

看起来您从解压缩的元组中分配了两次 x1 。

这说明了为什么使用全局变量是不好的(大多数时候)。很难说事情在哪里得到更新。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在Python中将一个变量的值分配给另一个变量时会发生什么?

为什么JpaRepositories似乎使用另一个事务?

在Java中将一个文件追加到另一个文件-为什么我的代码会覆盖?

Rails关注方法覆盖了另一个关注方法,无法像普通模块一样工作

为什么一个变量会被我的函数更改而另一个变量却未更改?

为什么将一个变量的值分配给另一个变量在python中保留在内存中?

为什么修改一个会话变量也会修改另一个会话变量?

为什么反应CSS组件会覆盖另一个组件的CSS

为什么我可以从另一个模块更改数组的值,但不能更改变量的值

为什么更改一个输入中的值也会更改另一个输入中的值?

固定一个变量的值,该变量根据另一个变量而改变

为什么Prolog将一个自由变量统一为另一个自由变量?

为什么修改一个实例的值会更改另一个实例的值?

为什么在一个配置中声明的覆盖Spring bean在另一个配置中被允许?

php变量中另一个变量的值

为什么一个事件的数据被另一个事件覆盖?

覆盖另一个函数JS中的变量

为什么修改ArrayList中一个元素的值会更改另一个元素的值?

如何防止strcpy也覆盖另一个变量?

下面的视图并覆盖了android中的另一个视图

为什么一个不可见的 TableView 覆盖了一个标签?

将一个变量的值设置为另一个变量的值

为什么一个变量会影响这个 Python 示例中的另一个变量?

一个动作似乎覆盖了另一个不相关的切片

如何覆盖在另一个继承的类中被赋予值的变量

在一个函数中,一个数据帧分配也奇怪地覆盖了另一个数据帧。(熊猫)

AssertJ 对异常的断言覆盖了另一个异常

为什么在 systemd 覆盖中的另一个 ExecStart=/new/value 之前使用 ExecStart= (没有值)?

在 React Native 中设置视图的 backgroundColor 覆盖了另一个元素