如果if语句应该改变x,x仍然是相同的

时间:2017-06-03 10:52:46

标签: python

我得到了这个简短的代码,请注意我是python的新手,我不明白为什么我运行代码后的x仍然是45,如果我的输入是45,或者就此而言55如果我的输入是55 < / p>

x = float(input('Enter a number'))
y = 0
if x < 40.0:
    y = (x - 40)
    x = 40.0-y
else:
    y = 0

5 个答案:

答案 0 :(得分:2)

我认为你可能会让你的<和{{}}}运营商混在一起。

你的if语句说,&#34;如果x小于40,请执行以下操作&#34;。您的输入测试是45或55,因此x绝不会小于40,因此if语句中的代码都不会被执行。

答案 1 :(得分:1)

如果x&lt;

你检查了这个条件吗? 40.0:

可能是因为x小于40.0

你的else语句没有修改x变量的逻辑

答案 2 :(得分:0)

你的代码本身声明,如果你的x小于40,则将其改为x = 40-(y) 简言之,x = 40-(x-40)。由于输入45(> 40)的计算结果为False,那么应该如何运行用于其他小于40的数字的代码块

答案 3 :(得分:0)

如果用户将x变量设置为45,则第一个if语句将失败,程序将继续执行您的'else'语句,其中x变量不受影响。 根据您的代码,如果您希望更改x变量的值,则需要输入低于40.0的数字。

答案 4 :(得分:0)

如果x大于或等于40.0(您使用的是45和55),则不满足第一个条件。 但如果满足第一个条件,则最后x的值不会保持不变。

如果要查看值已更改x的打印值,如下所示:

if x < 40.0:
    y = (x - 40)
    ***print "Value of x", x, "Val of y", y***
    x = 40.0-y
    ***print "Value of x", x, "Val of y", y***
else:
    y = 0

***print "Value of x", x, "Val of y", y***