- 運営しているクリエイター
記事一覧
「エラーで学ぶPython」の発売から,約2か月
「エラーで学ぶ」シリーズの第2弾,「エラーで学ぶPython」の発売から約2か月が経ちました。
第1弾「エラーで学ぶScraith」は発売後に Twitterでたくさんのつぶやきがあったのですが,第2弾での X のポストはそれほどではありません(笑)
本日,「エラーで学ぶPython」についてご執筆いただきましたので,ご紹介します。
私は学生時代から今までプログラミングを仕事として考えたことは
「エラーで学ぶPython 間違いを見つけながらプログラミングを身につけよう」が本日発売です!
日経BP社より本日発売です。
Pythonは人気の高いプログラミング言語なので,たくさんの書籍が出版されています。
その中では,もちろんエラーが取り上げられているわけですが,エラーのあるコードを直すことでプログラムを学習するというコンセプトはとてもユニークなのではないかと考えています。
どのようにしてプログラミングを学ぶことが良いのかということについては,様々な取組が行われており,学習者によって
#50 サイコロ Shut the Box
● 問題サイコロを使ったひとり遊びです。
すぐに終わってしまいます。
メッセージを表示している部分の前のコードを疑ってみましょう。
import randomimport itertoolscard = [str(i+1) for i in range(9)]select_card = []def sum_not_match(): global count for r in select_
#49 同じ?違う?
● 問題5つの異なる数字が2組表示されます。
2組の数字の組み合わせが同じか違うかを判断します。
5問出題されるので,なるべく早く判断しましょう。
不正解の場合には,20秒のペナルティになります。
問題がいつも同じ数字の並びになっています。また,正しく判定されていません。
import randomimport timenumber = [1,2,3,4,5,6,7,8,9]miss = 0t
#48 サイコロ even-odd
● 問題サイコロ2つの目の和がeven偶数かodd奇数かを当てて,コインを増やしましょう。Player1とPlayer2とあなたの3人で最終的にだれが一番コインの数が多いかを競います。
あなたが正解したのにコインが増えませんよ。
あなたのコインがたとえば3枚しかないとき,それより多くのコインをBetできてしまいます。
3人のコインが全く同じだったとき,WINと表示されるより,DRAWと表示された
#47 じゃんけん2
● 問題PCとじゃんけんします。
じゃんけんは,グー(0),チョキ(1),パー(2) と数字を入力します。
判定が間違っているようです。
勝ち負けを数式を使って判定しています。
■あいこ
PC:グー(0),チョキ(1),パー(2)
自分:グー(0),チョキ(1),パー(2)
■自分が勝ち
PC:グー(0),チョキ(1),パー(2)
自分:パー(2),グー(0),チョキ(1)
■自分が負け
P
#46 サイコロ 36
● 問題サイコロを振って,36になるべく近づけるゲームです。
判定が間違っているようです。
import randompc = 0you = 0print('PC:')while pc <= 33: dice = random.randint(1,6) print(f'{dice}',end=' ') pc += diceprint('',end='\n')print(f'合計
#45 じゃんけん1
● 問題PCとじゃんけんします。
じゃんけんは,グー(0),チョキ(1),パー(2) と数字を入力します。
判定が間違っているようです。
また,0,1,2以外の数字を入力したときにエラーになります。
import randomjanken = ['グー','チョキ','パー']pc_select = random.randint(0,2)my_select = input('じゃんけん:グー(
#44 石跳びゲーム
● 問題黒石と白石を動かすパズルです。
●●● ○○○ を ○○○ ●●● になるようにします。
途中で,黒石が消えることがあります。
stone = ['●','●','●',' ','○','○','○']complete_stone = ['○','○','○',' ','●','●','●']complete = Falsewhile complete != True: print
#43 メモリーゲーム
● 問題記憶力ゲームです。
出題がおかしいようです。
13個のマーク(●○◎▲△▼▽◆◇■□★☆)の位置を5秒間で覚え,ランダムに出題されるマークの位置を答えます。
正解するごとに表示されるマークの数が増えます(最大で7つ)。
import randomimport timememory_mark = ['●','○','◎','▲','△','▼','▽','◆','◇','■','□','
#42 ライツアウト2
● 問題点灯ゲームと言われているゲームです。
正しい位置が選択できません。
すべてが○になっても終了しません。
●は消灯,○は点灯です。
選択したところと上下左右の点灯・消灯が入れ替わります。
うまく選択して,すべてを点灯させれば完成です。
ライトは全部で9つ
左上から順に1,2,3,4・・・で指定します。
$$
\begin{array}{ccc}
1 & 2 & 3 \\
4 & 5 &