运营商在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
那么很容易搞清楚)
答
你的变量被称为x
,y
和z
,不a
,b
和c
。此外,您需要将其翻一翻,以避免%
字面意思。
print('%d %% %d = %d' % (x, y, z))
# Here ----^
# Here ------------------^
+0
对,对不起,错了。 – Preethi
谢谢!但是,你能否解释一下为什么我们需要用户双倍的% – Preethi
看我的编辑。 '%'用于分隔格式。由于空格不是有效的格式化字符,因此后跟空格的单独'%'触发错误。 –