6
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

経緯

大学でこんな課題が出されました。

任意の文字列を入力させ、その文字列の文字数が9でない場合は、while文を使い,入力された文字列の文字数が9となるまで,何度でもユーザーから文字列を入力させなおせるプログラムを作成せよ。

私は以下のように解答しました。

input_str = input("文字列を入力してください。:")
while len(input_str) != 9:
  input_str = input("もう一度文字列を入力してください。:")

いざ実行してみると、

SyntaxError: with Barry as BDFL, use '<>' instead of '!='

とエラーメッセージが表示されました。

対処

文法的な誤りはないはずなのに、エラーだったことが疑問で、ChatGPTに尋ねてみました。
以下のように回答が返ってきました。

このエラーメッセージは、Pythonの古いバージョンやジョークで見られるものです。
しかし、Pythonの標準的な構文では、このエラーメッセージは実際には表示されません。
エラーメッセージにある「Barry as BDFL」という部分は、Pythonの創始者であるGuido van Rossumを指しており、Pythonの内部ジョークである「Barry's BDFL(Benevolent Dictator For Life)」のものだと考えられます。
現在のPythonのバージョンでは != は正しい不等号演算子で、エラーにはなりません。
考えられるのは、以下のような原因です:

  1. Pythonの一部の拡張機能やモジュールが何らかのジョークエラーメッセージを追加している。
  2. 使用している環境が特別な設定やカスタマイズがされている。
インストールされているPythonのバージョンやモジュールを確認してみても特に異常はなかったため、使用環境に問題があると私は考えました。

試行錯誤した結果、私たちが実行していたGoogle Colaboratory(Colab)側に何らかのエラーがあったようです。(特定はできませんでした。)
Colabのメニューから「ランタイム」→「ランタイムを再起動」を選択し、環境を初期状態に戻して再度試すとうまくいきました。

おわりに

プログラミングに触れて以来、たくさんのエラーメッセージに悩まされましたが、今回このような初めてジョーク交じりのエラー(?)がでて正直驚きました。これからもエラーにうまく対処できるよう頑張っていきます。

この記事が少しでも参考になった方がいたら幸いです。

最後まで読んでくださりありがとうございました!

6
2
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?