Pythonプログラム設計言語ノート(一)


学習コース:『Python言語プログラミング』
開設学校:北京理工大学
教学の先生:嵩天、黄天羽、礼欣
学習者:広東海洋大学計科1154許佳耀
学習期間:2016年3月6日4 h
一、勉強の心得
初めて「学習と創業」課程の先生丁先生の指導の下でこのプログラミング言語の授業を選んだ.ネットの授业を受ける前に実は私のプログラミングの言语とその他の方面の学习はずっと各种の电子の本を见て行うので、电子の本はとても便利ですが、しかし唯一の欠点は本が死ぬのです.読書の過程で出会った問題はタイムリーに解決できない.幸いなことに、慕授業はこの欠点を補うことができて、嵩先生に従ってPython言語を学ぶ過程で分からない問題に出会ったら、すぐにフォーラムで聞くことができて、自分で先生になって他の人の問題に解答することができます.このように自分の問題を解決することができて、同時に自分の学んだ知識に対する1種の強固さと向上です.
私は嵩先生の授业の条理と阶层がすべてとてもはっきりしていると感じて、私にどのような地方に注意すべきかを知ることができて、しかも言语の文法の要素を分析する过程の中で先生は1本1本文を分析することができて、私はこのようにする一方で全体の言语の文法の构造をはっきり见ることができて、一方で文法の中で分からない部分に対して、説明を通じても比較的全面的な認識が得られる.私は次の1週間で、これらの文法規則を覚えて、自分のpythonプログラムを書くことができることを望んでいます.
二、授業ノート
第1週基本プログラム設計
1.1プログラム設計の基本方法——IPO(入力、出力、処理(アルゴリズム)))
(1)問題の計算部分を理解する:抽象的な問題→IPOを使う→複数の方法から1つの問題解決を選択する
(2)プログラム作成手順:
①分析問題:分析問題の計算部分
②問題の確定:計算部分をIPO三部分に分ける
③設計アルゴリズム④プログラム作成⑤デバッグテスト⑥アップグレードメンテナンス
例:温度変換問題
【問題の説明】摂氏および華氏について、次の変換があります.
 
くうきあつ
ひょうけつてん
沸点
摂氏度
1標準大気圧
0度
100度
華氏度
1標準大気圧
0度
212度
pythonプログラムで以上の変換を完了してください.
【解題手順】
①問題を分析する計算部分を三つのステップに簡略化する:
②機能を確定し、IPO方法でさらに分析する:1 IPOを確定する
入力:華氏度(F)/摂氏度(C)②プログラミング
処理:温度変換式③デバッガ
出力:摂氏(C)/華氏(F)
③設計アルゴリズム
④プログラム作成
⑤テストデバッグ
⑥アップグレード・メンテナンス
1.2 pythonプログラム要素分析
プログラム1:
# TempConvert.py
val = input("              (  : 32C): ")
if val[-1] in ['C','c']:                                 # in               
       f = 1.8 *float(val[0:-1]) + 32                    # float()               
       print("       : %.2fF"%f)                  # .2        f     
elif val[-1] in ['F', 'f']:
       c =(float(val[0:-1]) - 32) / 1.8
       print("       : %.2fC"%c)
else:
       print("    ")

(1)インデント:コード階層関係、プログラムフレームワークの表示
(2)注釈:実行されず文法的制約も受けず、任意の内容を書き込んで可読性を向上させる
コメント方法:
①単行コメント:#先頭;
②複数行コメント:'''先頭と末尾;
(3)変数:値の名前を表すことができ、値を変えることができる
≪ネーミング|Naming|ldap≫:カスタム要素に名前を関連付けるプロセス(一意性)
命名規則:1大文字と小文字、数字、下線(大文字と小文字が統一されていない)
②頭文字は大文字または下線のみで、スペースは使用できません
③中国語などアルファベット以外の記号は名前としてもよい
④python定義のリザーブワードと同一ではない
(4)式:データ値を生成/計算する1行のコード(ワードとオペレータを保持)
(5)スペースの使用:①行ごとのインデント関係を表すスペースは変更できません
②スペースでは名前を分割できません
(6)input()関数:コンソールからユーザの入力を取得する.使用方法:
<変数>=input(<ヒント文字>)
取得したユーザー入力は、<変数>に文字列<">として保存されます.
val=“28 C”の場合、val[-1]=“C”、val[0:2]=“28”は区間[0,2]からのサブ文字列を表す
最後の文字以外の文字列はval[0:-1]で取得できます.
(7)分岐文:判断条件に応じて異なるパスを実行する.使用方法:
If<条件1成立>
<式グループ1>
Elif<条件2成立>
<式グループ2>

Elif<条件N-1成立>
<式群N-1>
else:<式グループN>
(8)賦値:同期賦値:複数の変数に同時に賦値する.使用方法:
<変数1>,…,<変数N>=<式1>,…,<式N>
例:変数xとyの値を交換するには、1行のコード:x,y=y,x
(9)print()関数:文字情報を出力したり、文字の形で変数の値を出力したりして、%で出力する変数を選択します.
(10)ループ文:プログラムのループ実行を制御する文で,判定/カウント条件に基づいてループ回数を決定する.
使用方法:
for I in range(<カウント値>):
<式グループ>
 
関数作成テンプレート
(1)input–printテンプレート:(2)initial–printテンプレート:
①ユーザ入力:input()①初期変数:演算に必要な初期値
②演算部:アルゴリズム実装②演算部:アルゴリズム実装
③結果出力:print()③結果出力:print()
 
1.3 python蛇プログラムの実現分析:
プログラム2:
import turtle				<span style="white-space:pre">	</span># (  )       
def drawSnake(rad,angle,len,neckrad):	<span style="white-space:pre">	</span>#       
	for i in range(len):
		turtle.circle(rad,angle)<span style="white-space:pre">	</span>#       ,  rad         
		turtle.circle(-rad,angle)<span style="white-space:pre">	</span># rad   ,       
	turtle.circle(rad,angle/2)	<span style="white-space:pre">	</span>#   angle             
	turtle.fd(rad)				#    turtle.forward()  
<span style="white-space:pre">						</span>#         ,        
	turtle.circle(neckrad+1,180)
	turtle.fd(rad*2/3)
def main():
	turtle.setup(1300,800,0,0)	#       ,          、  
<span style="white-space:pre">					</span>#         、     
	pythonsize = 30
	turtle.pensize(pythonsize)	#      ,       ,   30
	turtle.pencolor("blue")		#     ,      (   16      )
	turtle.seth(-40)		#       ,     (   ,      0 )
	drawSnake(40,80,5,pythonsize/2)	#       ,    python  
main()

def定義関数:①関数はコードのセットであり、特定の機能を完了するために使用されます.このコードの名前は関数名と呼ばれます.
②defで定義した関数は、関数名で呼び出さなければ実行できません
 
関数ライブラリの参照:
方法一:import<ライブラリ名>例えば:import turtle
方法2:from<ライブラリ名>import<関数名>
from<ライブラリ名>import*←関数を呼び出すときにライブラリ名を使用する必要はなく、直接使用
例:from turtle*
       fd(100)
注:方式1は異なるライブラリの同名関数を呼び出すことができ、方式2はできません.