私はpythonを教えるクラスにいて、あらゆる種類のコーディングの初心者です。私はこの問題に出くわし続けていますが、教科書や追加の配付資料には、私が間違っていることを説明するものは何も見つかりません。これは、私が問題を抱えている演習の 1 つから取られた例です。このタスクは、ユーザーから与えられた文を受け取り、単語を並べ替えて「yoda speak」を取得するプログラムを作成することです。これは私が持っているものです。
def main():
print("Enter a sentence and have it translated into Yoda speak!")
sentence= eval(input("Enter your sentence: "))
word_list=sentence.split()
yoda_words= word_list[2:]+word_list[0:2]
yoda_says= yoda_words.join()
print("Yoda says: ", yoda_says)
main()
ただし、プログラムを実行しようとすると、次のようになります。
文章を入力して、それを Yoda speak に翻訳してもらいましょう!
あなたの文を入力してください: ジェーンは速く走った
トレースバック (最新の呼び出しが最後): File "C:\Program Files (x86)\Wing IDE 101 4.0\src\debug\tserver_sandbox.py", line 14, in File "C:\Program Files (x86)\Wing IDE 101 4.0\src\debug\tserver_sandbox.py"、5 行目、メイン ファイル ""、1 行目、? 構文エラー: ジェーンは速く走りました: 、18 行目
問題は、 eval(input()) コマンド全体を間違って使用したことが原因だと思います。誰かが私が間違っていることを説明してもらえますか?