簡體   English   中英

Python 中的運行時錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM