2017-07-12

読み解くPython,数値

変数


a = 10
abc = 20
あいうえお = 30

print (a)
print (abc)
print (あいうえお)

----- 実行 -----
10
20
30


エラーとなる例


ab-c = 20

print (ab-c)

----- 実行 -----
SyntaxError: can't assign to operator


変数には マイナス記号 "-" を使用できない。

アンダーバーは使用可能
例)
ab_c

2017-06-30

読み解くPython,基本以前の基本


Python のファイル名の注意


import するファイル名に対して
○ abcde.py
○ ab_cde.py
× ab-cde.py  - (マイナス記号) は不可 (演算記号のため)



変数名について


1文字目は英文字かアンダーバー(_)
2文字目以降は英数文字、アンダーバー
大文字と小文字は区別される



変数の表現形式


良いプロブラムとは、変数名などから処理の内容が推測できる

ネーミングルールには2つある
・キャメルケース
・スネークケース

< キャメルケース >
文字の区切りを大文字にする。「キャメル=らくだ」のコブをイメージし、
文字も大文字・小文字混在するように、文字のコブにイメージしたもの。
TokyoSkytree , NagoyaStation
先頭の文字を大文字か小文字にするかは言語の種類による。

< スネークケース >
言葉の区切りをアンダーバー(_)でつなぐ。「スネーク=へび」によるもの。
tokyo_skytree , nagoya_station

pyhton では スネークケースを採用する。



2017-05-14

読み解くPython,数値,複合演算子


a = 5
a += 2
print (a)

----- 実行 -----
7

▶ 複合演算子
演算子
説明
 += 足し算をして代入
 -= 引き算をして代入
 *= かけ算をして代入
 /= 割り算をして代入

読み解くPython,数値,算術演算子


 a = 5
 b = 8
 c = 10

 Print ( (a + b) * c )

----- 実行 -----
130


 a = 25
 b = 8

 print ( a % b )

----- 実行 -----
1

▶ 算術演算子

演算子 説明
 +  足し算
 -  引き算
 *  かけ算
 /  割り算
 %  割り算の余り
 **  累乗

2017-05-13

python3,1分でできる単語暗記ソフト

『1分でできる単語帳』のプログラム

 ▶ tango.py

import time

a = ['rain', 'snow', 'hail', 'drizzle', 'sleet', 'shower', 
'mist', 'fog', 'cloud', 'rainbow', 'wind']
b = ['雨','雪','ひょう','霧雨','みぞれ', 'にわか雨', '霧', '濃霧', 
'雲', '虹', '風']
s = len(a) - 1

count = 0
n = 1
t1 = 1
t2 = 2

while count < 100:  # 100 表示を繰り返す回数
	time.sleep(t1)
	print (a[n])
	time.sleep(t2)
	print (b[n], '\n')

	count += 1

	if n == 4:
		n = 0
	else:
		n += 1


2017-04-30

python3,英文を読み上げる簡単プログラム

OS : Linux Mint 18 xfce

python3 で英単語を読み上げる簡単プログラム
━━━━━━━━━━━━━━━━━━━━━━

python3-espeak を インストールする。


from espeak import espeak

espeak.synth("Hello World")

実行すると、「へぇ」だけの音声。音声が途中でとぎれてしまう。
原因は、「ハローワールド」を音声で処理する前にプログラムが終了してしまうため。


そこで、プログラム終了を timeライブラリを使い、延長する。


from espeak import espeak
import time

espeak.synth("Hello World")
time.sleep(1.0)   # 1秒程度プログラム終了を遅らせる

「ハローワールド」と最後まで読み上げた。
ただし、音質は悪い。

2017-04-29

python3,tkinter,キーコードを出力またはキー認識,フレーム

python3,tkinter

フレームを表示、フォーカスする。
押されたキー認識コードやキー名を出力する。

import tkinter as tk

class Frame(tk.Frame):
 """フレーム設定"""
 
 def __init__(self, master=None):
	tk.Frame.__init__(self, master)
	"""  初期化 """
  
	self.master.geometry('300x200')
	self.master.bind('< KeyPress  >', self.key)

	def key(self, event):
	print ("key code", repr(event.char))

if __name__ == '__main__':
	root = Frame()
	root.mainloop() 

押されたキーのコードやキー名が表示される

< 表示例 >
key code 'A'     # A キー (a + Shift)
key code 'd'     # d キー
key code '¥r'      # リターン キー
key code ''       # シフト キー
key code ''       # コントロールキー
key code ' '                  # スペース キー (半角)
key code '¥u3000'    # スペース キー(全角)
key code '¥t'      # タブ キー


print ("key code", repr(event.char)) の event.char を event にすると下記の形式で出力される。
< 表示例 >
key code <tkinter.Event object at 0xb6fd6bcc>
key code <tkinter.Event object at 0xb6fd6bec>


キーやマウスのイベント(キーやマウスが操作された時に処理を実行するプログラムの動作)には以下のようなものがある。

< イベント例 >
書式 : '< Key  >'
Key, KeyPress  [ キーが押された ]
KeyRelease   [ キーが離された ]

Button, ButtonPress  [ マウスのボタンが押された ]
ButtonRelease  [ マウスのボタンが離された ]
Motion  [ マウスの移動 ]
Enter  [ マウスカーソルがウィンドウの中に入った ]
Leave  [ マウスカーソルがウィンドウから出た ]