リストの基本問題(1)

Python独学ならTech-Joho TOP > Python問題集 >リストの基本問題(1)

問題

1から9までの数値10個を要素とするリストを変数my_listに代入せよ。

下の欄に回答を入力し、「回答完了」を押して下さい!回答例が表示されます。
ただいま、正解判定機能を試運転中です。

実行結果の例

このプログラムは何も表示しません。
ただし、問題の内容を実行後、print(my_list)を実行すると、
下のような内容が表示されます。

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

回答例

答え合わせをしてみましょう。

my_list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

別の答えもあります。

my_list = list(range(0,10))

解説

リストを作るには、まず”[“と”]”を書き、その間に、リストの要素を”,”(コンマ)区切りで書きます。

数値のリストの場合、ある範囲の数字の並びを作ってくれるrange関数の結果を、リストに変換することもできます。

リストについての基本は下のリンク先のページで解説しています。

https://tech-joho.info/%e3%81%9f%e3%81%8f%e3%81%95%e3%82%93%e3%81%ae%e3%83%87%e3%83%bc%e3%82%bf%e3%82%921%e3%81%a4%e3%81%ab%e3%81%be%e3%81%a8%e3%82%81%e3%82%8b/

forとrangeとprintの基本問題(2)

Python独学ならTech-Joho TOP > Python問題集 >forとrangeとprintの基本問題(2)

問題

for文を使って、2から18までの9種類の2の倍数を表示せよ。

下の欄に回答を入力し、「回答完了」を押して下さい!回答例が表示されます。
ただいま、正解判定機能を試運転中です。

実行結果の例

このように表示されるようにプログラムを作りましょう。

2
4
6
8
10
12
14
16
18

回答例

答え合わせをしてみましょう。

for i in range(1, 10):
print(i*2)

解説

range(1, 10)の役割は、1〜9を順番に並べたデータを用意することです。
rangeはつくる数字の列の範囲を1つめの引数〜2つめの引数、というようにしていします。
ただし、2つめの引数は、その数字より小さい最大の整数までという指定になっています。

そして、Forのループが一周するたびに、iにはrangeが作った各整数が代入されます。
最初はi=1,次はi=2..と続いて、最後がi=9です。

次に、forの中ではprint文を実行しています。
ポイントは、for文でiを2倍にした数字を表示していることです。
これにより、2の倍数が計算できます。

For文の解説はしたのリンク先にもあります。
たくさんのデータで同じ処理を繰り返す(第11回)

PyQtを使ってPythonで絵を描く|Pythonでやってみる

Python独学ならTech-Joho TOP > いろいろやってみた >PyQtを使ってPythonで絵を描く


PyQtとは

PyQtは、クロスプラットフォームのGUI開発ツール、Qt(キュート)をPythonから操るためのライブラリです。
PyQtのPythonバインディングという言い方をします。
Qtを使うと、クロスプラットフォーム、つまりOSにとらわれず、Windows、MacOS、Linuxなど、様々な環境で動く、グラフィカルなアプリを作ることができます。

What is PyQt?

Qt 公式ページ


1.Pythonの実行環境の準備

PyQtをインストール刷る前に、Pythonをパソコンにインストールする必要があります。

Pythonのインストール方法は、下の記事で解説していますので、こちらをご覧ください。
pygameを使ってPythonで絵を描く


2.PyQtインストール

PyQtのインストールは、自分でビルドするなどいろいろな方法があるようですが、pipでインストールする方法の例を紹介します。

参考
PyQt5とpython3によるGUIプログラミング[0]

最新のPyQt5をインストールします。

$ pip install PyQt5

こんな風に、Successfully installed PyQt5-5xxxと表示されれば、インストール成功です。

Installing collected packages: sip, PyQt5
Successfully installed PyQt5-5.10.1 sip-4.19.8

3.まずは絵を書いてみる

これまでにこのブログで取り上げた例と同じく、横300px、縦200pxの矩形のウインドウを表示し、
左上から右に10px、下に10pxの位置に、幅20px、高さ50pxの縦長の長方形を描きます。
pygameの例kivyの例

下の内容のファイルtkintertest.pyを作成して下さい。
pyqttest.py

import sys
from PyQt5.QtCore import Qt
from PyQt5.QtGui import QPainter
from PyQt5.QtWidgets import QApplication, QWidget

class MainWindow(QWidget):
    def __init__(self, parent=None):
        super(MainWindow, self).__init__(parent)
        self.setWindowTitle("This is a pyqt sample")
        self.setGeometry(0, 0, 300, 200)

    def paintEvent(self, event):
        p = QPainter(self)
        p.setPen(Qt.yellow)
        p.setBrush(Qt.yellow)
        p.drawRect(10, 10, 20, 50)

app = QApplication(sys.argv)
mainWindow = MainWindow()
mainWindow.show()
sys.exit(app.exec_())

次に、ファイルを保存したディレクトリで下のコマンドを実行してください。

>>> python pyqttest.py

今回は、ウインドウの位置も指定していますので、画面の左上にこのようにウインドウが表示されるはずです。
pyqt window

参考
PyQtでのグラフィックス その1 (QWidgetに直接描画する)


4.解説

では、プログラムのコードのそれぞれの具体的な処理内容を解説していきます。

import sys
from PyQt5.QtCore import Qt
from PyQt5.QtGui import QPainter
from PyQt5.QtWidgets import QApplication, QWidget

最初は必要なモジュールをインポートしていきます。

sysはpythonの基本的なモジュールで、今回のプログラムではQtのウインドウを閉じた時にPythonプログラムを終了するために使います。

その他の3行は、Qtの必要なクラスです。Qtはその名の通りQtのメインのクラス、QpainterはQtでいろいろな図形を描く時に使うクラス、QApplicationはQtのアプリ自体を表すクラス、QWidgetはQtのGUI部品、例えばウインドウを表すクラスです。

参考
29.1. sys — システムパラメータと関数
QPainter Class

class MainWindow(QWidget):

QWidgetを継承したクラスMainWindowを作っています。
このクラスはウインドウ自体を表しています。

    def __init__(self, parent=None):
        super(MainWindow, self).__init__(parent)
        self.setWindowTitle("This is a pyqt sample")
        self.setGeometry(0, 0, 300, 200)

ウインドウのコンストラクタです。
ウインドウのクラスのインスタンスを作成する時、実行されます。

setWindowTitleでウインドウのタイトルを指定し、setGeometryで、ウインドウの位置と大きさを指定します。
最後の2つの引数が幅と高さです。

    def paintEvent(self, event):
        p = QPainter(self)
        p.setPen(Qt.yellow)
        p.setBrush(Qt.yellow)
        p.drawRect(10, 10, 20, 50)

このメソッドは、このクラスのウィジェット画鋲がされるたびに呼び出されるイベントハンドラーです。
内部では、QPainterクラスのインスタンスを用いて矩形を描いています。

p.setPen(Qt.yellow)で、輪郭線を黄色に、p.setBrush(Qt.yellow)で塗りつぶしを黄色にしています。
p.drawRect(10, 10, 20, 50)でく形を描き、引数で一番左からx座標、y座標、幅、高さを指定しています。
Qtの座標系は左上原点のようです。

参考
oid QWidget::paintEvent(QPaintEvent *event)

app = QApplication(sys.argv)
mainWindow = MainWindow()
mainWindow.show()
sys.exit(app.exec_())

最後はQtのアプリケーションと、作ったウインドウのクラスのインスタンスを作って、ウインドウを表示しています。

最後の、sys.exit関数はPythonプログラムを終了します。
引数のapp.exec_()はQtのアプリケーションを実行します、
またウインドウが閉じた時に返り値を返すので、これを引数に指定したsys.exitが続いて実行されるようにしています。

参考
sys.exit

int QApplication::exec()


参考


tkinterを使ってPythonで絵を描く|Pythonでやってみる

Python独学ならTech-Joho TOP > いろいろやってみた >tkinterを使ってPythonで絵を描く


tkinterとは

tkinterは、pygletやKivy等と同じように、pythonでGUIのアプリを作るためのモジュールです。
厳密に言えば、Tclという別言語のためのTkというGUIツールキットをPythonから操るためのインタフェースです。

Tk及びTclについて詳しく知りたい人は、公式サイトを見ましょう。英語ですが。

参考 tcl公式
Tcl Developer Site

別言語といってもpythonと組み合わせてよく使われている印象があります。

このtkinterを使って、いつものように矩形を描画させてみましょう。


1.Pythonの実行環境の準備

tkinterを利用するには、最新のPythonを自分のパソコンにインストールする必要があります。

Pythonインストールの方法については、下の記事をご覧ください。
pygameを使ってPythonで絵を描く


2.tkinterインストール

tkinterは、インストールが不要です。
なぜなら、Pythonのインストール時に一緒にインストールされるからです。


3.まずは絵を書いてみる

pygameの例kivyの例と同じように矩形、長方形を描いてみましょう。

描く図形は、上記のKiviの例と同じです。
横300px、縦200pxの長方形のウインドウの中に、
左上から右に10px、下に10pxの位置に、幅20px、高さ50pxの縦長の長方形を描きます。

下の内容のファイルtkintertest.pyを作成して下さい。
tkintertest.py

iimport tkinter

root = tkinter.Tk()

root.title("This is a tkinter sample")
root.geometry("300x200")

canvas = tkinter.Canvas(root, width=300, height=200)
canvas.create_rectangle(10, 10, 30, 60, fill='yellow')
canvas.place(x=0, y=0)

root.mainloop()

次に、ファイルを保存したディレクトリで下のコマンドを実行してください。

>>> python tkintertest.py

ウインドウがでてきて、黄色い長方形が左上に表示されましたか?

Kivyやpygameの例とことなり、ディフォルトでウインドウの背景色が白らしいですね。
また、長方形にも黒い枠線がついています。
細かいことはきにせず、このまま進めますが、気になる人は下のサイトなどを参考にしてみてください。

【Python】Tkinterのcanvasを使ってみる

このウインドウを消すには、普通にx(バツ)ボタンを押してください。


4.解説

上のコードを、まとまりごとに説明します。

import tkinter

root = tkinter.Tk()
 
略

root.mainloop()

一番上の”import tkinter”は、tkinterモジュールをインポートしています。

次の”root = tkinter.Tk()”、そして最後の”root.mainloop()”この2つで、ウインドウを表示する処理をしています。

root.title("This is a tkinter sample")
root.geometry("300x200")

なんとなくわかると思いますが、”root.title(“This is a tkinter sample”)”で、ウインドウのタイトルを指定しています。

“root.geometry(“300×200”)”は、ウインドウの幅と高さの指定です。

canvas = tkinter.Canvas(root, width=300, height=200)
canvas.create_rectangle(10, 10, 30, 60, fill='yellow')
canvas.place(x=0, y=0)

ここでは黄色の長方形を描いています。

まず、”canvas = tkinter.Canvas(root, width=300, height=200)”で、ウインドウと同じ大きさの「キャンバス」を作っています。
自由に絵をかけるエリアみたいなイメージでしょうか。

そのキャンバスの中に、”canvas.create_rectangle(10, 10, 30, 60, fill=’yellow’)”で、長方形を描いています。
最初の4つの数字は、長方形の左上のx座標、y座標、右下のx座標、y座標です。
ちなみに、tkinterの世界では左上が原点のようです。
一番最後の fill=’yellow’は黄色で塗りつぶすことを指定しています。

“canvas.place(x=0, y=0)”で、キャンバスをウインドウのの原点に置きます。
これで、キャンバス内に描かれた長方形もウインドウに表示されることになります。


変数への代入の練習問題(2)

Python独学ならTech-Joho TOP > Python問題集 >変数への代入の練習問題(2)

問題

1 + 3をPythonを使って計算し、変数nに結果を代入せよ。回答は1行で書くこと。

下の欄に回答を入力し、「回答完了」を押して下さい!回答例が表示されます。

ただいま、正解判定機能を試運転中です。

実行結果の例

今回は、問題の答えを入力して実行したとしても、入力された回答以外、何も表示されません。


回答例

答え合わせをしてみましょう。

n = 1 + 3

解説

Pythonで変数に値を代入する際には、=(イコール)の左に変数名を、=の右に代入する値を書きます。
例えば、
変数pi に 数字の3.1415を代入するときは、このように書きます。

pi = 3.1415

詳しくは、このページで復習してください。
変数に値を代入する方法(第4回 )

pygletを使ってPythonで絵を描く|Pythonでやってみる

Python独学ならTech-Joho TOP > いろいろやってみた >pygletを使ってPythonで絵を描く


pygletとは

pygletは、公式サイトによると、クロスプラットフォームなPythonでのウインドウやマルチメディア開発のためのライブラリです。

a cross-platform windowing and multimedia library for Python.

要は、ウインドウを出したり、画像や動画を表示させるアプリをつくるキットということです。

参考 pyglet公式
pyglet wiki

前に紹介したpygameと似ていますが、よりあとに作られたもののようです。

この記事では、pygletに、シンプルな図形を描画させてみます。


1.Pythonの実行環境の準備

pygletを利用するにあたって、Pythonを自分のパソコンにインストールする必要があります。

Pythonインストールの方法については、下の記事をご覧ください。
pygameを使ってPythonで絵を描く


2.pygletインストール

pygletのインストールは簡単で、pipコマンドを利用できます。

anaconda prompotや、comand prompt、power shell等の黒い画面で、下のコマンドを実行してください。

>>>pip install pyglet

下のように、”Successfully installed”と出たらインストール成功です。

略
Successfully installed future-0.16.0 pyglet-1.3.1

2018年3月8日時点では、バージョン1.3.1がインストールされました。


3.まずは絵を書いてみる

pygameの例kivyの例と同じように矩形、長方形を描いてみましょう。

具体的には、横300px、縦200pxの長方形のウインドウを表示し、
左上から右に10px、下に10pxの位置に、幅20px、高さ50pxの縦長の長方形を描きます。

下の内容のファイルpyglettest.pyを作成して下さい。
pyglettest.py

import pyglet
window = pyglet.window.Window(300, 200)
window.set_caption('This is a pyglet sample')

quad = pyglet.graphics.vertex_list(4,
    ('v2f', [10, 190, 30, 190, 30, 140, 10, 140]),
    ('c3B', (255, 255, 0, 255, 255, 0,255, 255, 0,255, 255, 0,)))

@window.event
def on_draw():
	quad.draw(pyglet.gl.GL_QUADS)

pyglet.app.run()

次に、ファイルを保存したディレクトリで下のコマンドを実行してください。

>>> python pyglettest.py

このような黄色い長方形が左上に表示された小さなウインドウが出てくるはずです。
pyglet rect

このウインドウを消すには、”python pyglettest.py”を打ち込んだ黒い画面(ターミナル)でCtrl(コントロール)とZを同時に押して下さい。

私のPC(mac)では、その後もウインドウが残ってしまったので、強制終了してください。


4.解説

作成したコードの各部分の意味を解説していきます。

import pyglet

この部分では、pygletモジュールをインポートしています。

window = pyglet.window.Window(300, 200)
window.set_caption('This is a pyglet sample')

この部分では、ウインドウを作っています。
引数の300と200で、幅300ピクセル、高さ200ピクセルのウインドウを作っています。
これは変数windowに代入されています。

windowing

“window.set_caption(‘This is a pyglet sample’)”では、ウインドウ上部のタイトルを指定しています。
画像で確認してみて下さい。”This is a pyglet sample”がタイトルになっているはずです。

quad = pyglet.graphics.vertex_list(4,
    ('v2f', [10, 190, 30, 190, 30, 140, 10, 140]),
    ('c3B', (255, 255, 0, 255, 255, 0,255, 255, 0,255, 255, 0,)))

この部分では、画面に表示する内容を決めています。

pyglet.graphics.vertex_list関数は、座標のリストをつくります。
引数の4は、4つの点を作るという指定です。

次の引数の”(‘v2f’, [10, 190, 30, 190, 30, 140, 10, 140])”の、v2fは、その後のリストが、2つの値(x軸座標とy軸座標)の組であること、fつまりFloatで浮動小数点数であることを示しています。

つまり、その後の”10, 190, 30, 190, 30, 140, 10, 140″は、
x軸が10、y軸が190の点が一つ、x軸が30、y軸が190の点が一つ…という具合に長方形の4つの点の座標を指定しています。
ちなみに、pygletの座標系では、左上が原点のようです。

次の、”(‘c3B’, (255, 255, 0, 255, 255, 0,255, 255, 0,255, 255, 0,)))”のうち、c3Bは、その後のリストが、cつまりColorで色を表していて、
3Bつまり赤、緑、青の3つの数字の組で、Unsigned byte、0から255の数字で表されることを示しています。

Rつまり赤色とGつまり緑色が最大値を指定しているので、”255, 255, 0″は黄色です。

まとめると、黄色の長方形の色と座標を指定して変数quadに代入しています。

@window.event
def on_draw():
	quad.draw(pyglet.gl.GL_QUADS)

ここでは、アプリが起動した後に、何を刷るかをon_draw関数の中で定義しています。
“quad.draw(pyglet.gl.GL_QUADS)”は、先程つくった四角形の色と座標の情報auadを使って、四角形を描いています。
pyglet.gl.GL_QUADSが四角形という指定です。

他にも、pyglet.gl.GL_LINESで線を指定できるなど、いろいろな図形を描けます。
詳しくはこちらをみてみましょう。
drawing-primitives

pyglet.app.run()

最後に、アプリを起動しているのがこの部分です。


Kivyを使ってPythonで絵を描く|Pythonでやってみる

Python独学ならTech-Joho TOP > いろいろやってみた >Kivyを使ってPythonで絵を描く


Kivyとは

KivyはPythonをつかってGUI(グラフィカルユーザインタフェース)を作成するためのライブラリです。

利用することで、絵を描くことも可能です。

参考
Kuvi 公式サイト

こちらのpygameを使った例とほぼ同じように、矩形を描いてみましょう。


1.Pythonの実行環境の準備

Kivyは、このサイトでおなじみのブラウザ上の黒い欄、Brython Consoleでは動きません。
まず、自分のパソコンにインストールする必要があります。

詳しくは、こちらのページの「1.Pythonの実行環境の準備」の欄をご覧ください。
pygameを使ってPythonで絵を描く


2.Kibyのインストール

pipでKibyをインストールしましょう。

まず、Kivyをインストールする際は、Kiby本体以外に、いくつか事前にインストールが必要なものがあります。
ここでは、Macの場合のインストールを紹介します。

anaconda prompotや、comand prompt、power shellなどの、黒い画面で、下のコマンドを実行してください。

$ brew install pkg-config sdl2 sdl2_image sdl2_ttf sdl2_mixer gstreamer

特にエラーメッセージがでなければ成功です。
下のようなインストール結果の概要がたくさんでてきます。

==> Summary
🍺  /usr/local/Cellar/gstreamer/1.12.4: 394 files, 20.8MB

次に、Cythonをインストールします。

$ pip install Cython==0.26.1

成功すると下のようなメッセージがでてきます。

Successfully installed Cython-0.26.1

最後に、Kivy本体をインストールします。

$ pip install kivy

途中、しばらく時間がかかります。
下のようなメッセージが表示されればインストール成功です。

Successfully installed Kivy-xxxxx

なお、私の環境では、下のメッセージがでて、一旦Kivyのビルドに失敗しました。

Failed building wheel for kivy

このissueで言われているのと同じ症状のようでした。
https://github.com/kivy/kivy/issues/5468

そこで、下のコマンドで開発中の最新バージョンをインストールしました。

$ pip3 install https://github.com/kivy/kivy/archive/master.zip

最終的には成功しました。

Successfully installed Kivy-1.10.1.dev0

3.まずは絵を書いてみる

絵を書いてみましょう。
シンプルに四角形(矩形)を描いてみましょう。

こちらと全く同じように描いてみます。
pygameを使ってPythonで絵を描く

kivytest.py

 from kivy.core.window import Window
Window.size = (300,200)

from kivy.app import App
from kivy.uix.widget import Widget
from kivy.graphics import Color
from kivy.graphics import Rectangle

class MyApp(App):
    title = 'This is kivy sample'

    def build(self):
        widget = Widget()

        with widget.canvas:
            Color(1, 1, 0)
            Rectangle(pos=(10, 340), size=(20, 50))
        return widget

MyApp().run()

次に、ファイルを保存したディレクトリで下のコマンドを実行してください。

>>> python kivytest.py

このような黄色い長方形が左上に表示された小さなウインドウが出てくるはずです。

kivy window

このウインドウを消すには、右上のxを押して下さい。


4.解説

ソースコードのそれぞれの部分の意味を見ていきましょう。

from kivy.core.window import Window
Window.size = (300,200)

見てわかりやすく、ウインドウのサイズを幅300、縦200にしています。

from kivy.app import App
from kivy.uix.widget import Widget
from kivy.graphics import Color
from kivy.graphics import Rectangle

必要なモジュールをインポートしています。APPとWidgetは、どのようなKibyプログラムでも必須です。
ColorとRectangleは、色付きの矩形(Rectanle)を描くために必要です。

class MyApp(App):
    title = 'This is kivy sample'

Kivyでプログラムを作るには、何はともあれAppクラスか、それを継承したクラスのインスタンスを作る必要があります。
ここでは、Appクラスを継承したクラスをまずつくっています。
また、ウインドウ上部に表示するタイトルも指定しています。

def build(self):
        widget = Widget()

        with widget.canvas:
            Color(1, 1, 0)
            Rectangle(pos=(10, 340), size=(20, 50))
        return widget

buildメソッドの中で、具体的に描く内容を指定します。

Widgetクラスのインスタンスを作詞し、with widget.canvasの中で、
Colorクラスのインスタンスで黄色を指定し、
Rectangleクラスのインスタンスで矩形を指定しています。

Colorクラスのコンストラクタの引数は、赤色、青色、緑色の割合で、1から0で指定します。

Rectangleクラスのコンストラクタの引数のposは描く場所、sizeは大きさを指定します。
ちなみに、Kivyの座標は左下が原点のようです。

MyApp().run()

最後に作ったMyAppクラスのrunメソッドの実行でウインドウを描画します。


pygameを使ってPythonで絵を描く|Pythonでやってみる

Python独学ならTech-Joho TOP > いろいろやってみた >pygameを使ってPythonで絵を描く


pygameとは

pygameは、画像や音楽を含むプログラムを作りやすくするPythonのライブラリの一つです。
ゲームと言う名前が入っていますが、ゲームだけに限らず、マルチメディアなアプリを作ることができるそうです。

この記事では、pygameを使って簡単にお絵かきをしてみます。

参考 pygame公式
pygame


1.Pythonの実行環境の準備

pygameは、このサイトでおなじみのブラウザ上の黒い欄、Brython Consoleでは動きません。
まず、自分のパソコンにインストールする必要があります。

pygameをインストールする前に、そもそもpythonをインストールする必要があるのですが、下の2つの記事を参考に、condaかvirtualenvでインストールしてください。
Pythonのインストール方法の選択肢 | Django 入門
virtualenvでWindows10 に Django インストール | Django 入門20
Windows 10 condaによる環境構築からdjangoのインストール | Django 入門


2.pygameインストール

pipでpygameをインストールしましょう。
anaconda prompotや、comand prompt、power shellなどの、黒い画面で、下のコマンドを実行してください。

>>>pip install pygame

下のように、”Successfully installed”と出たらインストール成功です。

>>>pip install pygame
Collecting pygame
  Downloading pygame-1.9.3-cp36-cp36m-macosx_10_9_intel.whl (4.8MB)
    100% |████████████████████████████████| 4.8MB 136kB/s
Installing collected packages: pygame
Successfully installed pygame

3.まずは絵を書いてみる

絵を書いてみましょう。
シンプルに四角形(矩形)を描いてみましょう。
下の内容のファイルpygametest.pyを作成して下さい。
pygametest.py

    pygame.display.update()
import pygame
from pygame.locals import *
import sys

pygame.init()
screen = pygame.display.set_mode((300, 200))
pygame.display.set_caption("This is pygame sample")
while(True):
    screen.fill((0,0,0,))
    pygame.draw.rect(screen, (255,255,0), Rect(10,10,20,50))

    pygame.display.update()
    for event in pygame.event.get():
        if event.type == QUIT:
            sys.exit()

次に、ファイルを保存したディレクトリで下のコマンドを実行してください。

>>> python pygametest.py

このような黄色い長方形が左上に表示された小さなウインドウが出てくるはずです。
yellow lect

このウインドウを消すには、”python pygametest.py”を打ち込んだ黒い画面(ターミナル)でCtrl(コントロール)とCを同時に押して下さい。


4.解説

作成したコードの各部分の意味を解説していきます。

import pygame
from pygame.locals import *
import sys

この部分では、pygameモジュールなど、必要なモジュールををインポートしています。

pygame.init()
screen = pygame.display.set_mode((300, 200))
pygame.display.set_caption("This is pygame sample")

この部分では、ウインドウを作っています。
“pygame.display.set_mode((300, 200))”で、幅300ピクセル、高さ200ピクセルのウインドウを作っています。
これは変数screenに代入されています。

“pygame.display.set_caption(“This is pygame sample”)”では、ウインドウ上部のタイトルを指定しています。
“This is pygame sample”と表示されているのがわかると思います。 

while(True):
    screen.fill((0,0,0,))
    pygame.draw.rect(screen, (255,255,0), Rect(10,10,20,50))

    pygame.display.update()

この部分では、画面に表示する内容を決めています。

“while(True):”があるので、まず無限ループがつくられます。

その無限の繰り返しの中で、
“screen.fill((0,0,0,))”は背景を透明にします。

“pygame.draw.rect(screen, (255,255,0), Rect(10,10,20,50))”は、黄色の長方形を作っています。

参考
pygame.Rect

” (255,255,0)”が黄色を指定しています。

pygameでは、色を(R,G,B)を0から255で指定するので、(255,255,0)は、Rつまり赤色とGつまり緑色が最大値を指定しています。
光の三原色の合成を考えると、赤と緑で黄色になります。

参考
光の3原色による色の合成 – 東京高専情報工学科

“Rect(10,10,20,50))”の部分はRectanble、つまり矩形を作っています。
最初の10,10は矩形の左上の座標です。
後ろの20,50は、それぞれ矩形の幅と高さです。
まとめると、ウインドウの左上から右に10ピクセル、下に10ピクセルのところに、幅20ピクセル、高さ50ピクセルの矩形を描け、という命令になります。

while(True):
    for event in pygame.event.get():
        if event.type == QUIT:
            sys.exit()

最後に、この部分は、pygameの作ったウインドウを終了することができるようにしています。
“python pygametest.py”を打ち込んだ黒い画面(ターミナル)でCtrl(コントロール)とCを同時に押す以外にも、
矩形が表示されているウインドウをクリックしたあと、Ctrl+Cを押しても終了することができます。


図形を描画する 人工知能に関する断創録


この続きの、更に高度なお絵かきの方法を追加していく予定です。


Pythonを学べる大学一覧2018

インターネット上の情報を手動をピックアップ!

インターネット上でアクセス可能なシラバス情報を元に、Pythonについての授業がある大学をピックアップしてみました。
もちろん、全ての大学を網羅しているわけではありません。
また、随時情報を追加中です。

2018年度開講の講義・演習等に、Pythonを扱うと明記されている学校をピックアップしています。


早稲田大学

早稲田大学は、シラバスの検索システムに外部からアクセスすることができます。
サイトはこちらです。
早稲田大学シラバス検索システム

キーワード欄に”Python”を入力して検索したところ、2018年2月20日現在、36件がひっかかりましたが、開講年度が18年度は1件のみです。
ですが、おそらく2018年度も2017年度もそう変わりが無いと思われます。

Python自体の入門の授業は1つのみで、あとは何らかの学術のツールとしてPythonを利用しています。
自然言語処理や機械学習など、Pythonの使いみちとしてよくWeb上の記事に出てくる内容もありますが、
創造理工学研究科など、工学系の学部・研究科が開講する科目には、流体力学や電磁気学の解析用や、社会シミュレーション等、大学以外では見かけない内容もあります。
また、グローバルエデュケーションセンターや人間科学研究科等、理系ではない組織が開講する授業も1/3程度ありました。


慶応義塾大学

慶応義塾大学のシラバスはこちらにありました。
慶應義塾大学 講義要綱

講義要綱の欄にPythonといれて、すべてのキャンパスを選んで検索すると、2018年2月22日現在、5件の講義がでてきました。
こちらも2017年度分です。

内容としては、経済学部、および理学部の初歩的な演習や概論的な内容で、プログラミングをがっつり学ぶわけではないようです。


上智大学

上智大学のシラバスもオンライン検索が可能です。

シラバス(講義概要)検索

キーワード”python”で、検索した結果3件が該当しました。
こちらも、2017年の結果です。(2018年2月23日現在)

上智大学は文系のイメージがありますが、その通りにこれまでで最も少ない件数です。
授業の内容としては、全学向けのいわゆるアルゴリズムとデータ構造の授業、電気系の数値解析、宇宙核工学の修士課程の授業、となっており、理系での利用が主でした。


青山学院大学

青山学院大学も、シラバスを検索する機能が公開されていましたので、”python”で検索してみました。
青山学院大学 講義内容検索

全部で17件がヒットしました。(2017年度の結果、2018年3月8日現在)

理工学部情報テクノロジー学科と、経営システム工学科の授業が大半を占めます。
python自体というよりは、豊富な計算系のライブラリを生かした応用的な内容が主なようです。

また、教育人間科学部の心理学プログラミングなど、文系の内容も目を引きます。


明治大学

明治大学は、Oh-o! Meijiというシラバスの検索システムを持っています。

Oh-o! Meiji – 明治大学

キーワード(シラバス全文対象)の欄にpythonを入力した結果、5件がでてきました。(2018年2月27日現在)

一つは、理工学部の情報系の演習ですが、数値計算や自動ツイートなど、応用的な内容も含まれた比較的高レベルな演習に思われます。
あと2つ、理工系の大学院向けの授業があります。

さらに、駿河台の大学院商学研究科の院生向けの授業もあります。
文系でもPythonの利用が広がっているみたいですね。


日本大学

日本大学のシラバスのシステムは、外部からアクセスできますが、学部ごとに別れているようです。
その中から、工学系をピックアップしてpython関連の授業を探してみました。

理工学部

日本大学理工学部(2017年度)

なんと、検索結果は0件でした。
Pythonを明示的に使用する授業がありません。

ちなみに、C言語だと30件、Javaだと15件がひっかかります。
型付けのある、やや伝統的な、プログラミング言語を利用する方針のようです。

生産工学部

Campusmate(生産工学部)
生産工学部では、シラバスの本文検索ができませんでした。

なので、授業の名称で検索しましたが、少なくとも名前にpythonを含む授業は無いようです。(2017年度)

工学部

工学部のシラバスは、ログインが必要なシステム内でしか見られないと思いきや、ゲストユーザとして参照することができました。

日本大学工学部ポータルサイト

しかし、キーワード「python」で引っかかる授業はありませんでした。(2017年度)

ちなみに、「C言語」では16件です。

Pythonを使わないという傾向は日本大学の学部全体にあるようです。


つづく…

大学や専門学校などで、Pythonを学習中で、参考になるサイトを探している場合は、Pythonの問題集や、入門コンテンツを見てみて下さい。Python問題集

Python入門カリキュラム


変数への代入の練習問題(1)

Python独学ならTech-Joho TOP > Python問題集 >変数への代入の練習問題(1)

問題

変数str_xに、文字列’tanuki’を代入せよ

下の欄に回答を入力し、「回答完了」を押して下さい!回答例が表示されます。

ただいま、正解判定機能を試運転中です。

実行結果の例

今回は、問題の答えを入力して実行したとしても、入力された回答以外、何も表示されません。


回答例

答え合わせをしてみましょう。

str_x = 'tanuki'

解説

Pythonで変数に値を代入するには、
=を書いて、=の左に変数名を、=の右に代入する値を書きます。
下のような感じです。

変数名 = 代入する値

例えば、
変数aに1を代入するときは、このように書きます。

a = 1

こちらでおさらいしましょう。
変数に値を代入する方法(第4回 )