[英]Runtime error in Python
本人對python比較陌生,代碼是在線評委中的一個問題的解決方案,但是拋出了運行時錯誤。 請幫我修復此代碼。謝謝。
import math
def square(n):
if n<0:
return 0
else:
tst=int(math.sqrt(n))
if tst*tst==n or (tst+1)*(tst+1)==n or (tst-1)*(tst-1)==n:
return 1
t=input()
for i in t:
n=input()
flag=square(n)
if flag==1:
print "Case %l: Yes\n"%i
else:
print "Case %l: No\n"%i
t=t-1
您現在代碼中的問題是您使用的是t = input()
,它逐行接受輸入,因此第一次它只返回第一行,即2
。
然后你試圖循環它,我認為你想要循環那么多次,所以你應該將代碼更改為 -
t=int(input())
for i in range(t):
使用range
函數會使循環進行很多次,希望這就是您打算做的。
使用%
符號進行字符串格式化時,您必須提供%d
或%s
等。似乎沒有任何%l
。
例子 -
print "Case %d: Yes\n"%i
嘗試讀取 python 解釋器拋出的信息:
Traceback (most recent call last):
File "prog.py", line 17, in <module>
NameError: name 'i' is not defined
發生錯誤的行號 (17) 和錯誤類型('i' 未定義)在回溯中清晰顯示。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.