###千と千尋の神隠し
2019/08/16の金曜ロードショーでノーカットの『千と千尋の神隠し』が放送されました
いや〜よかった!
いつ見てもあれはいいですね!
「契約書だよ。そこに名前を書きな。働かせてやる。
その代わり嫌だとか、帰りたいとか言ったらすぐ子豚にしてやるからね。
あの、名前ってここですか?
そうだよもぅぐずぐずしないでさっさと書きな!
まったく……つまらない誓いをたてちまったもんだよ。
働きたい者には仕事をやるだなんて…… 書いたかい?
はい……あっ。
フン。千尋というのかい?
はい。
贅沢な名だねぇ。 今からおまえの名前は千だ。
いいかい、千だよ。分かったら返事をするんだ、千!!」
というシーンを知っていますか?
Twitterを見つつ鑑賞していたら
https://twitter.com/SabanikiTofu/status/1162323952309424134?s=20
というツイートを目にしました
「これは面白い。たぶん湯婆婆は文字列の一文字目だけにしてるんだろう」と考えました
###湯婆婆を作る
じゃあとりあえず湯婆婆を作ります
hot_water_old_lady.py
print("契約書だよ。そこに名前を書きな。働かせてやる。\nその代わり嫌だとか、帰りたいとか言ったらすぐ子豚にしてやるからね。\nそうだよもぅぐずぐずしないでさっさと書きな!\n\nまったく……つまらない誓いをたてちまったもんだよ。働きたい者には仕事をやるだなんて…… 書いたかい?")
name = input()
short_name = name[0]
print("はい…あっ。 \n\nフン。%sというのかい? \n\nはい。 \n\n贅沢な名だねぇ。 今からおまえの名前は%sだ。\nいいかい、%sだよ。分かったら返事をするんだ、%s!!"% (name, short_name, short_name, short_name))
はい終わり
$ python hot_water_old_lady.py
契約書だよ。そこに名前を書きな。働かせてやる。
その代わり嫌だとか、帰りたいとか言ったらすぐ子豚にしてやるからね。
そうだよもぅぐずぐずしないでさっさと書きな!
まったく……つまらない誓いをたてちまったもんだよ。働きたい者には仕事をやるだなんて…… 書いたかい?
千尋
はい…あっ。
フン。千尋というのかい?
はい。
贅沢な名だねぇ。 今からおまえの名前は千だ。
いいかい、千だよ。分かったら返事をするんだ、千!!
はい、ちゃんと湯婆婆してますね
じゃあ名前を書かないでいきましょう
python hot_water_old_lady.py
契約書だよ。そこに名前を書きな。働かせてやる。
その代わり嫌だとか、帰りたいとか言ったらすぐ子豚にしてやるからね。
そうだよもぅぐずぐずしないでさっさと書きな!
まったく……つまらない誓いをたてちまったもんだよ。働きたい者には仕事をやるだなんて…… 書いたかい?
Traceback (most recent call last):
File "hot_water_old_lady.py", line 3, in <module>
short_name = name[0]
IndexError: string index out of range
はい、湯婆婆が落ちましたね
文字列の""の0番目を参照したからですね
###結論
湯婆婆は落ちる
cでやった人もいるらしいのでみなさんも湯婆婆作りましょう〜
https://twitter.com/cmpl_error/status/1162330445683412992?s=20
###追記
2019/08/17 プログラム内のミスをご指摘いただき少し修正しました