Python入門

はじめに

プログラミングを勉強するならどんな言語がいいでしょうか?

と聞かれた事が何度かあります。
《勉強するなら》という点に限って言えば、Pythonが一番勉強しやすいと思います。
理由は、プログラミング言語にありがちな一つの処理を作るのに色々な記述方法があるという部分が少ないからです。
他にも色々と指摘されているとは思いますが、わたしの意見はただこの一つです。

同じ事をコンピュータに命令するのにいくつも方法があったのでは、初心者は迷います。
出来るだけ例外をなくしてもらったほうが勉強しやすいと思います。

その上で言うのですが、プログラミング言語はどの言語を選択しても何か作り上げる以外に上達の近道はない、という点です。自分だけが使うホントに小さなアプリで構いません。まずは自分の為に動くプログラムを一つ完成させてみてください。
そこが出発点です。

Pythonのインストールや環境に関して

まだパソコンにPythonをインストールしていない方はこちら。
最低限は下の「Python3をインストールして使うまで」が終わっていればPythonプログラミングを始めることが出来ます。

プログラム入力を楽にしたい方はこちら!

WinPythonというUSBメモリに入れて持ち運びできるPythonの紹介

pipを利用する

Pythonスクリプト先頭行の記述について

Pythonスクリプトの先頭行の記述が気になったので作成しました。
入門者は別にどうでもいいかなと思います。開発者は必要だと思います。

Python入門

ここからが「Hello, world!」です。(プログラミングの世界では最初の一歩といった意味です)

一応この先は学び易い順序にリンクしていますので、順番にこなしていくと良いかと思います。

TIPS

GUIプログラム

Pythonで面白いことをしてみる

Pythonの魅力は簡単に凄い事が出来る点です。
なるべく短い行数のスクリプトで使えるものを書いていきます。(インベーダーの記事は使えないかなぁ)

これは割と使えます。
自分でもRaspberry Piでこのスクリプトを動かしています。正規表現についても少し解説しています。

少し力がついたら挑戦してみよう

コンピュータとじゃんけんをするゲーム

必要な知識: 乱数条件分岐

実行イメージ


あいこの場合も考える
ファイル名:jyanken_game.py

"""
	コンピュータとじゃんけんをするゲーム
	あいこの場合も考える
"""

import random

te = ["グー", "チョキ", "パー"]

GU = 0
CHOKI = 1
PA = 2

DRAW = 0
WIN = 1
LOSE = 2

aiko = False

def pon():
	return random.randint(0, 2)

print("じゃんけん...")
while True:	
	print("\t1:グー 2:チョキ 3:パー >>> ", end="")
	player = int(input())
	player -= 1
	# プレイヤーの手
	if player < 0 or player > 2:
		print("1~3で入力してね!")
		continue
	# コンピュータの手
	cpu = pon()

	# 判定
	if player == cpu:
		kekka = DRAW
	elif (player == GU and cpu == CHOKI) or (player == CHOKI and cpu == PA) or (player == PA and cpu == GU):
		kekka = WIN
	else:
		kekka = LOSE
	
	if aiko == True:
		print("\nしょ!")
	else:
		print("\nぽん!")

	print("\tあなた: {}\n\tCPU: {}".format(te[player], te[cpu]))
	
	if kekka == DRAW:
		print("\nあいこで...")
		aiko = True
		continue
	elif kekka == WIN:
		print("\nあなたの勝ち!")
		break
	else:
		print("\nあなたの負け!")
		break

人数分の5教科のテスト得点を入力させ、科目ごとの平均点を求めるプログラム

始めに学生人数を入力させます。その後、5科目の得点を入力させ科目ごとの合計値をもとめて最後に平均点を表示しています。
動画では3人分の5科目得点を入力させています。

実行イメージ

必要な知識:繰り返し処理リスト

ファイル名:5kamoku.py

"""
	学生の5教科テストの得点を入力すると
	各教科の平均点を求めて表示する
	学生の人数を最初に入力させ、
	人数分の5教科テストの得点入力を行う
"""

ninzu = 0  # 学生人数
kamoku = ["国語", "算数", "理科", "社会", "英語"]  # 科目名
gokei = [0, 0, 0, 0, 0]  # 科目毎の合計

# 学生人数を入力
ninzu = int(input("学生人数? "))

# 学生毎の5教科テスト得点を入力
for i in range(ninzu):  # 人数ループ
	print("{}人目".format(i+1))
	for j in range(5):  # 科目ループ
		print("\t{}の得点 = ".format(kamoku[j]), end="")
		tokuten = int(input())
		# 科目ごとに合計を求める
		gokei[j] += tokuten

# 5教科の平均点を表示
print("平均点")
for i in range(5):
	heikin = gokei[i] / ninzu  # 平均 = 合計 ÷ 人数
	print("\t{}: {:.1f}".format(kamoku[i], heikin))

タイトルと文章を入力するとHTMLタグとして画面に出力するプログラム

実行イメージ
※出力後のHTMLデータをメモ帳に保存してホームページとして表示できるかの確認までをしています。

必要な知識:キーボード入力処理変数を整形して表示

ファイル名:out_html.py

"""
	タイトルと文章を入力すると
	HTMLタグとして画面に出力するプログラム
"""

# タイトルと文章を入力
title = input("タイトルは? ")
naiyo = input("内容は? ")

# HTML生成
html = """
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>{}</title>
	</head>
	<body>
		<h1>{}</h1>
		<p>{}</p>
	</body>
</html>
"""

# 画面出力
print(html.format(title, title, naiyo))
タイトルとURLをコピーしました