运营商在python

运营商在python

问题描述:

我使用的Python版本2.73 这里是我的代码运营商在python

x=int(raw_input('Enter first number\n')) 
y=int(raw_input('Enter second number\n')) 
z=x%y 
print('%d % %d = %d' %(x,y,z)) 

现在打印语句抛出我的错误。 我希望我的输出看起来像

Enter first number 
3 
Enter second number 
2 
3 % 2 = 1 

你有孤独百分号否则蟒蛇试图翻倍解释下一个字符作为格式化字符:由于%格式注定是

'%d %% %d = %d' %(a,b,c) 

另外,我建议format弃用(和作为奖金,你不必“逃离”你的情况百分号:

'{} % {} = {}'.format(a,b,c) 

(和你的变量被称为x,y,z那么很容易搞清楚)

+0

谢谢!但是,你能否解释一下为什么我们需要用户双倍的% – Preethi

+0

看我的编辑。 '%'用于分隔格式。由于空格不是有效的格式化字符,因此后跟空格的单独'%'触发错误。 –

你的变量被称为xyz,不abc。此外,您需要将其翻一翻,以避免%字面意思。

print('%d %% %d = %d' % (x, y, z)) 
# Here ----^ 
# Here ------------------^ 
+0

对,对不起,错了。 – Preethi