Python3
1def print_picnic(items_dict, left_width, right_width): 2 print('PICNIC ITEMS'.center(left_width + right_width, '-')) 3 for k, v in items_dict.items(): 4 print((k, ljust(left_width, '.') + str(v).rjust(right_width)) 5 6 7picnic_items = {'sandwiches': 4, 'apples': 12, 'cups': 4, 'cookies': 8000} 8print_picnic(picnic_items, 12, 5) 9print_picnic(picnic_items, 20, 6) 10
上記のコードの4行目のprint()の引数について。
/usr/local/bin/python3.7 /Users/***/PycharmProjects/MyProject/picnicTable.py
---PICNIC ITEMS--
Traceback (most recent call last):
File "/Users/***/PycharmProjects/MyProject/picnicTable.py", line 8, in <module>
print_picnic(picnic_items, 12, 5)
File "/Users/***/PycharmProjects/MyProject/picnicTable.py", line 4, in print_picnic
print(k, ljust(left_width, '.') + str(v).rjust(right_width))
NameError: name 'ljust' is not defined
Process finished with exit code 1
というエラーコードが出ます。ljustをどのように定義したらいいのでしょうか。
インデントが無いとエラーになりますよ
ブラウザバグによる連投失礼しました。
.
.
せっかく質問編集したならコード部分をコードブロックにしてください。
LouiS0616さんが回答中で図説してくれていますが、「コード部分を選択し<code>ボタンを押す」、「『ここに言語を入力』の部分をpythonに直す」です。
もうちゃんと一からプログラミングの勉強したらどうでしょう?
これからもこんな質問続けるつもりでしょうか?
質問内容が丸ごと変わった…
teratailが水準の高い方の集まりであることが理解できました。私はプログラミングの勉強を始めた人間です。しかも一人で勉強していますからどこに質問をするのが妥当なのかわかりません。しかも、『退屈なことはpythonにやらせよう』はおそらくpython2で書かれていてpython3の環境では違う結果が出てくるのだと推測します。本来はそれを質問したのだと思いますが、質問の仕方が悪かったので妥当な回答がなかったのだと思います。
そこで、提案ですがteratailのあり方を入門・中級・上級に切り分ける設定にするのはどうかと思います。そのようにすることが極めて生産的なことだと思います。ただしその場合入門者を担当するのは最も知識が豊富で、しかも忍耐力がある人が担当すべきでしょう。私は長年あまり勉強が得意でない生徒が多数を占める学校の教師をしていましたからこのように感じます。質問を入門・中級・上級に切り分けることは割に簡単なことだと思います。難しいことを教えることが立派なことではないと思います。
https://teratail.com/help/question-tips
初心者とか上級者とか意識しなくても良いです。
ガイドに沿って質問して頂くと一定以上のものになります。
追伸 今後プログラミング学習が小学校から行われるようになれば、混乱はこの程度では済まなくなるでしょう。teratailの閉鎖という事態にもみまわれるでしょう。それに対処する必要があるでしょう。閉鎖的になるのか、開放的になってきちんと整理できるようになるのか、今がそのタイミングだと思います。
再追伸 きちんと質問できることは、ほとんど答えに99%近づいたときにできることであって、なんかよくわからないなあという状態の時にできることではありません。質問することの難しさと的確に回答することの困難さを十分わかっておられないと感じます。教師としての長年の経験からそのように思います。
それと利用規約を読めないことは別だと思いますが。
一つのこの質問のコメントの中で埋もれてしまうのも勿体ないので
teratail の運営に関わる疑問や提案などについては タグ「teratail」を付けて質問(提案)して頂ければと思います。
既に様々な質問・回答が御座いますので一読されるのも良いかと思います。
https://teratail.com/tags/teratail
回答4件
あなたの回答
tips
プレビュー