以下のサイトを参考に、ボールゲームをつくってみました。
https://joytas.net/programming/python/python%e6%bc%94%e7%bf%92%e5%95%8f%e9%a1%8c%e5%88%9d%e7%b4%9a
実装したコード
https://drive.google.com/file/d/1w1ImaEumdAbd6wQ__iHCmHBRMv99J3M9/view?usp=sharing
今回の難所
Line3
random.shuffle(balls)
内容:リスト型変数ballsの中身をシャッフルする
ポイント:Randomモジュール?にこんな機能があるとは
活用:
import random
d = {'1':'Arai','2':'Imai','3':'Ueno','4':'Enatsu','5':'Onishi'}
l = list(d.items())
random.shuffle(l)
print(l)
キーに出席番号、バリューに名前が入ったdicを用意。
Dicの中身を全部取り出して、リスト型に変換。
リストの中身をシャッフルする。
用途:先生が授業中に生徒を当てるときとかに使えそう。
Line8
a,b = balls.pop(),balls.pop()
内容:playera,bの取り出す値は、ballsから引かれた値(うまく言語化できていない)
なぜ難所:言語化できていないことからも
活用:
d = {'1':'Arai','2':'Imai','3':'Ueno','4':'Enatsu','5':'Onishi'}
l = list(d.items())
target = random.choice(l)
target_index = l.index(target)
l.pop(target_index)
print(l)
5人の出席番号、名前が格納された辞書を用意。
リスト型に変換。
5人の中から、1人ランダムにターゲットを選択。
ターゲットを除いてリストを更新。
用途:くじ引きみたいな感じで使えそう。
まとめ
いまだにこんな初歩的な練習問題をしていて良いのかと思わなくもないが、振り返りの中で自然と「この文法をつかって、こんなことできるんじゃない?」という飛び火の機械が生まれるので、良いのかなと思う。まだまだ役に立つ実用的な使い方を生み出す発想力はないが。。すべては基礎から・・・を信じて、基礎のアウトプットを繰り返す。