編集:ねえ、私は答えを得た。正しいコードは以下に書かれています。答えとして書かれているように、私はtry/exceptブロックにコードを残しておくべきでした。 私はSPOJサイトで "3n + 1" a.k.a Collatz推測の問題を解決しようとしています。 http://www.spoj.pl/problems/CLTZ/。 EDITCollatz SPOJ- Python - NZECエラーを与える
import sys,os
#This is for the Collatz Conjecture problem in SPOJ.
while 1:
try:
line = sys.stdin.readline()
n=int(line)
except:
break
#print 'Line=',line
#n=int(line)
if(n==1):
print n
continue
else:
count=0
while(n!=1):
if(n%2==0):
n = n/2
count=count+1
else:
n= 3 * n + 1
count=count+1
print count+1
私はNZECエラーに実行しています:ここで私が書いたコードです。私が試したいくつかのテストケースは次のとおりです。
123123
181
235
128
346
33
234
22
123
47
123
47
123
47
235
128
34
14
325
25
1234
133
123
47
125
109
改行文字を処理する変更を行いました。それはまだエラーを与える:( 私が間違っているつもりどこ:(
ちょっと、改行文字を扱うように変更しました。それは同じNZECのものを提供しています:(私はまた、(行ではない)をやってみました:ブレークしかし、それは同じものを与える – crazyaboutliv
'try-except'(今追加されました)は機能しますか? –
はい、ありがとう:) – crazyaboutliv