def文;コードに文法的な間違いがあります。(質問掲示板)
投稿:
fragile
投稿:2012/06/24 18:45:24(最新:2012/06/24 22:04:24)
fragile
投稿:2012/06/24 18:45:24(最新:2012/06/24 22:04:24)
4ケタの数を引数に取り、各桁が1かどうかを判定して true,false で返すスクリプトです。
エラーの場所がわからないのですが、どこでしょうか?
ツイート
エラーの場所がわからないのですが、どこでしょうか?
- テスト1
def dir(k)
a = ca()
a[0] = floor(k/1000)
a[1] = floor((k-1000*a[0])/100)
a[2] = floor((k-1000*a[0]-100*a[1])/10)
a[3] = floor((k-1000*a[0]-100*a[1]-10*a[2])
speak("a[0] = ", a[0])# 7行目
i = 0
while i < 4
if a[i] == 1
a[i] = true
else
a[i] = false
end
i=i+1
end
return a
end#syntax error, コードに文法的な間違いがあります。 line(行): 7
- テスト2
def dir(k)
a = ca()
a[0] = floor(k/1000)
a[1] = floor((k-1000*a[0])/100)
a[2] = floor((k-1000*a[0]-100*a[1])/10)
a[3] = floor((k-1000*a[0]-100*a[1]-10*a[2])
#speak("a[0] = ", a[0])
i = 0 # 9行目
while i < 4
if a[i] == 1
a[i] = true
else
a[i] = false
end
i=i+1
end
return a
end#syntax error, コードに文法的な間違いがあります。 line(行): 9
- テスト3
def dir(k)
speak("k = ", k)
a = ca()
a[0] = floor(k/1000)
a[1] = floor((k-1000*a[0])/100)
a[2] = floor((k-1000*a[0]-100*a[1])/10)
a[3] = floor((k-1000*a[0]-100*a[1]-10*a[2])
speak("a[0] = ", a[0]) # 9行目
i = 0
while i < 4
if a[i] == 1
a[i] = true
else
a[i] = false
end
i=i+1
end
return a
end#syntax error, コードに文法的な間違いがあります。 line(行): 9
- テスト4 def前のspeak機能せず
a = ca()
a[0] = 0
speak("a[0] = ", a[0])
def dir(k)
speak("k = ", k)
a = ca()
a[0] = floor(k/1000)
a[1] = floor((k-1000*a[0])/100)
a[2] = floor((k-1000*a[0]-100*a[1])/10)
a[3] = floor((k-1000*a[0]-100*a[1]-10*a[2])
speak("a[0] = ", a[0]) # 15行目
i = 0
while i < 4
if a[i] == 1
a[i] = true
else
a[i] = false
end
i=i+1
end
return a
end#syntax error, コードに文法的な間違いがあります。 line(行): 15
- テスト5
a = ca()
a[0] = 0
speak("a[0] = ", a[0])
<<QQQ
def dir(k)
speak("k = ", k)
a = ca()
a[0] = floor(k/1000)
a[1] = floor((k-1000*a[0])/100)
a[2] = floor((k-1000*a[0]-100*a[1])/10)
a[3] = floor((k-1000*a[0]-100*a[1]-10*a[2])
speak("a[0] = ", a[0]) # 15行目
i = 0
while i < 4
if a[i] == 1
a[i] = true
else
a[i] = false
end
i=i+1
end
return a
end
QQQ#エラー無し,speak作
コメントする
コメントするには、ログインする必要があります。
コメント一覧
左括弧と右括弧の数がつりあっていないと思います。
文法エラーの行はあんまりアテにしないほうがいいかも・・・。
文法エラーの行はあんまりアテにしないほうがいいかも・・・。
#誤 a[3] = floor((k-1000*a[0]-100*a[1]-10*a[2]) #正(意図している動作はしないかも) a[3] = floor(k-1000*a[0]-100*a[1]-10*a[2])
実は初歩ミスだった、ということは
よくあります。
それに早く気付けるかどうかが大切で
これはもう経験しか。