def文;コードに文法的な間違いがあります。(質問掲示板)
投稿: 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作
コメントする
コメントするには、ログインする必要があります。
コメント一覧
退会したユーザー(投稿日:2012/06/24 19:05,
履歴)
左括弧と右括弧の数がつりあっていないと思います。
文法エラーの行はあんまりアテにしないほうがいいかも・・・。
文法エラーの行はあんまりアテにしないほうがいいかも・・・。
#誤 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])
実は初歩ミスだった、ということは
よくあります。
それに早く気付けるかどうかが大切で
これはもう経験しか。