2016-12-25 113 views
-1

我使用的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 

回答

1

你有孤獨百分號否則蟒蛇試圖翻倍解釋下一個字符作爲格式化字符:由於%格式註定是

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

另外,我建議format棄用(和作爲獎金,你不必「逃離」你的情況百分號:

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

(和你的變量被稱爲x,y,z那麼很容易搞清楚)

+0

謝謝!但是,你能否解釋一下爲什麼我們需要用戶雙倍的% – Preethi

+0

看我的編輯。 '%'用於分隔格式。由於空格不是有效的格式化字符,因此後跟空格的單獨'%'觸發錯誤。 –

3

你的變量被稱爲xyz,不abc。此外,您需要將其翻一翻,以避免%字面意思。

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

對,對不起,錯了。 – Preethi