我得到了这个简短的代码,请注意我是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
答案 0 :(得分:2)
我认为你可能会让你的<
和{{}}}运营商混在一起。
你的if语句说,&#34;如果x小于40,请执行以下操作&#34;。您的输入测试是45或55,因此x绝不会小于40,因此if语句中的代码都不会被执行。
答案 1 :(得分:1)
你检查了这个条件吗? 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***