マガジンのカバー画像

エラーで学ぶPython

55
運営しているクリエイター

記事一覧

「エラーで学ぶPython」の発売から,約2か月

「エラーで学ぶPython」の発売から,約2か月

「エラーで学ぶ」シリーズの第2弾,「エラーで学ぶPython」の発売から約2か月が経ちました。
第1弾「エラーで学ぶScraith」は発売後に Twitterでたくさんのつぶやきがあったのですが,第2弾での X のポストはそれほどではありません(笑)

本日,「エラーで学ぶPython」についてご執筆いただきましたので,ご紹介します。

私は学生時代から今までプログラミングを仕事として考えたことは

もっとみる
「エラーで学ぶPython 間違いを見つけながらプログラミングを身につけよう」が本日発売です!

「エラーで学ぶPython 間違いを見つけながらプログラミングを身につけよう」が本日発売です!

日経BP社より本日発売です。

Pythonは人気の高いプログラミング言語なので,たくさんの書籍が出版されています。
その中では,もちろんエラーが取り上げられているわけですが,エラーのあるコードを直すことでプログラムを学習するというコンセプトはとてもユニークなのではないかと考えています。
どのようにしてプログラミングを学ぶことが良いのかということについては,様々な取組が行われており,学習者によって

もっとみる
「エラーで学ぶPython」が日経BP社より書籍化されます

「エラーで学ぶPython」が日経BP社より書籍化されます

2022年11月1日から12月24日までにnoteで連載したコンテンツが、日経BP社から書籍として発売されます。この書籍の制作に際しては、連載時の課題を取り入れつつ、Python初学者が理解しやすいように全面的に加筆修正を行いました。

本書は、プログラミング初心者向けに「真似る」「変える」「創る」という3つの段階で構成されています。最初はプログラム例を真似て基本的な記述方法やポイントを理解し、次

もっとみる
#52 まとめ

#52 まとめ

エラーで学ぶPythonを連載してきましたが,いかがだったでしょうか。
私もこの記事の連載を機会にはじめてPythonに触れたので,感じたことを書いてみたいと思います。

驚いたのは,とても短いコードでやりたいことが書けるということです。
特に,配列(リスト)の扱いがとても簡単なことです。
sum(配列)で合計が求められるとか,random.shuffle(配列)で要素の順序をシャッフルできるとか

もっとみる
#51 9スライド

#51 9スライド

● 問題シャッフルされた1~8までの数字をスライドさせて,9マスに揃えましょう。

■完成図

$$
\begin{array}{ccc}
1 & 2 & 3 \\
4 & 5 & 6 \\
7 & 8 &
\end{array}
$$

プログラムを実行すると数字がシャッフルされます。
空いたところに数字を動かします。この場合,動かせるのは,1か7です。

$$
\begin{array}{c

もっとみる
#50 サイコロ Shut the Box

#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 同じ?違う?

#49 同じ?違う?

● 問題5つの異なる数字が2組表示されます。
2組の数字の組み合わせが同じか違うかを判断します。
5問出題されるので,なるべく早く判断しましょう。
不正解の場合には,20秒のペナルティになります。

問題がいつも同じ数字の並びになっています。また,正しく判定されていません。

import randomimport timenumber = [1,2,3,4,5,6,7,8,9]miss = 0t

もっとみる
#48 サイコロ even-odd

#48 サイコロ even-odd

● 問題サイコロ2つの目の和がeven偶数かodd奇数かを当てて,コインを増やしましょう。Player1とPlayer2とあなたの3人で最終的にだれが一番コインの数が多いかを競います。

あなたが正解したのにコインが増えませんよ。
あなたのコインがたとえば3枚しかないとき,それより多くのコインをBetできてしまいます。
3人のコインが全く同じだったとき,WINと表示されるより,DRAWと表示された

もっとみる
#47 じゃんけん2

#47 じゃんけん2

● 問題PCとじゃんけんします。
じゃんけんは,グー(0),チョキ(1),パー(2) と数字を入力します。
判定が間違っているようです。

勝ち負けを数式を使って判定しています。
■あいこ 
PC:グー(0),チョキ(1),パー(2)
自分:グー(0),チョキ(1),パー(2)
■自分が勝ち 
PC:グー(0),チョキ(1),パー(2)
自分:パー(2),グー(0),チョキ(1)
■自分が負け

もっとみる
#46 サイコロ 36

#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

#45 じゃんけん1

● 問題PCとじゃんけんします。
じゃんけんは,グー(0),チョキ(1),パー(2) と数字を入力します。
判定が間違っているようです。
また,0,1,2以外の数字を入力したときにエラーになります。 

import randomjanken = ['グー','チョキ','パー']pc_select = random.randint(0,2)my_select = input('じゃんけん:グー(

もっとみる
#44 石跳びゲーム

#44 石跳びゲーム

● 問題黒石と白石を動かすパズルです。
●●● ○○○ を ○○○ ●●● になるようにします。
途中で,黒石が消えることがあります。

stone = ['●','●','●',' ','○','○','○']complete_stone = ['○','○','○',' ','●','●','●']complete = Falsewhile complete != True: print

もっとみる
#43 メモリーゲーム

#43 メモリーゲーム

● 問題記憶力ゲームです。
出題がおかしいようです。

13個のマーク(●○◎▲△▼▽◆◇■□★☆)の位置を5秒間で覚え,ランダムに出題されるマークの位置を答えます。
正解するごとに表示されるマークの数が増えます(最大で7つ)。

import randomimport timememory_mark = ['●','○','◎','▲','△','▼','▽','◆','◇','■','□','

もっとみる
#42 ライツアウト2

#42 ライツアウト2

● 問題点灯ゲームと言われているゲームです。
正しい位置が選択できません。
すべてが○になっても終了しません。

●は消灯,○は点灯です。
選択したところと上下左右の点灯・消灯が入れ替わります。
うまく選択して,すべてを点灯させれば完成です。
ライトは全部で9つ
左上から順に1,2,3,4・・・で指定します。

$$
\begin{array}{ccc}
1 & 2 & 3 \\
4 & 5 &

もっとみる