我正在尝试用Python解决这个问题而不确定它为什么不起作用......
x = int(input("Enter the value of X: "))
y = int(input("Enter the value of Y: "))
print(y)
input("...")
问题是Y.我输入如下没有引号:“2 * x” 我已经尝试了很多东西并进行了很多研究(正如我之前所做的那样),但我很难过。也许是因为我是这样的基本用户。
答案 0 :(得分:4)
似乎你正在阅读python2的书籍,但你已经安装了python3。在python2中,input
等于eval(raw_input(prompt))
,这就是为什么当您输入2 * x
时,它会评估表达式的值并将其分配给y
。
在python3中,input
只是将用户输入作为字符串,而不是eval
作为表达式,您可能需要明确eval
,即a bad practice和{{ 3}}:
In [7]: x=2
In [8]: y=eval(input('input Y:'))
input Y:3*x
In [9]: y
Out[9]: 6
总而言之,使用:py2中的raw_input
,py3中的input
,从不使用eval
(或py {中的input
)你的生产代码。
答案 1 :(得分:0)
这是因为2 * x
不是整数。但是,当你评价它时,它是;但这不是input
的作用。
所以你想要的是这个:
x = int(input("Enter the value of X: "))
y = int(input("Enter the value of Y: ")) * x
然后,在被要求2
Y
答案 2 :(得分:0)
您不能以这种方式将表达式作为字符串文字传递给int
。你可以这样做,
x = int(input("Enter the value of X: "))
y = x * 2
print(y)
input("...")
如果你需要在乘法中使用另一个值,你可以这样做,
x = int(input("Enter the value of X: "))
y = int(input("Enter the value of Y: "))
z = x * y
print(z)
input("...")