Try   HackMD
tags: Python勉強会

Python勉強会 第1回 解説

<第1回Web会議日程>
2023年11月29日(水) 19:00から

<第1回の自習範囲>
Pythonチュートリアル
https://docs.python.org/ja/3/tutorial/index.html

  1. やる気を高めよう
  2. Python インタプリタを使う
    2.1. インタプリタを起動する
    2.1.1. 引数の受け渡し
    2.1.2. 対話モード
    2.2. インタプリタとその環境
    2.2.1. ソースコードの文字コード
  3. 形式ばらない Python の紹介
    3.1. Python を電卓として使う
    3.1.1. 数
    3.1.2. 文字列型 (string)
    3.1.3. リスト型 (list)
    3.2. プログラミングへの第一歩

課題① 解説

以下のコードの実行結果は?

a = 10  
b = a - 2  
c = a ** 2  
d = c % 9 + 9  
e = b / c  
f = c // b

print(e)
print(f)

<各算術演算子の意味>

  • +演算子 : 足し算(加算)
  • -演算子 : 引き算(減算)
  • *演算子 : 掛け算(乗算)
  • /演算子 : 割り算(除算)
  • //演算子 : 割り算の整数部(整数除算)
    10割る3=余り1 の「3」
  • %演算子 : 割り算の剰余(余り, mod)
    10割る3=3余り の「1」
  • **演算子 : べき乗
a = 10

aに'10'を代入

b = a - 2 

a=10なので、「10-2」の結果である’8’をbに代入

c = a ** 2 

a=10なので、「10の2乗」の結果である’100’をcに代入

d = c % 9 + 9 

四則演算のルールに従い、「%」を先に計算
c=100なので、100割る9の結果の余り1と9を足した’10’をdに代入

e = b / c

b=8、c=100なので、8割る100の結果、'0.08'をeに代入

f = c // b

c=100、b=8なので、100割る8の結果、12余り4の整数部、'12'をfに代入


課題① 解答

解答

>>> print(e)
0.08
>>> print(f)
12


課題②

以下のコードの実行結果は?

FM = 'Kabusikigaisyaefuemu'  
  
print(FM[4]+FM[-4]+FM[6:8]+FM[-8:-6]+FM[0]+FM[5])

<文字列のスライス>

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

※開始値は常に含まれ、終了値は常に含まれない

FM[4] ⇒「s」
FM[-4]⇒「u」
FM[6:8] ⇒「ki」
FM[-8:-6] ⇒「ya」
FM[0] ⇒「K」
FM[5] ⇒「i」


課題② 解答

解答

>>> print(FM[4]+FM[-4]+FM[6:8]+FM[-8:-6]+FM[0]+FM[5])
sukiyaKi


課題③

以下のコードの実行結果は?

a = ['A','B','C','D','E']
b = [1,2,3,4,5]
c = [a,b]
c[1][1:3] = ['b','c','d']

print(c[0][2]+c[1][2])

<リストの操作>

・文字列と同じようにインデックスを用いて要素を指定、スライスすることができる
・要素を指定して代入することで、値を変更できる

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

c = [a,b]

aとbそれぞれのリストを、リストとして、cに代入
c = [ ['A' , 'B' , 'C' , 'D' , 'E'],[1 , 2 , 3 , 4 , 5] ]

c[1][1:3] = ['b','c','d']

c[1][1:3] に  ['b' , 'c', 'd'] を代入する

入れ子型のリストは、インデックスを続けて書くことで、要素を取り出せるので、

c[1] = [[1 , 2 , 3 , 4 , 5]]
c[1][1:3] = [2 , 3 ]

この[2,3]を['b','c','d']に書き換えるので、cは以下となる

c = [ ['A' , 'B' , 'C' , 'D' , 'E'],[1 , 'b' , 'c' , 'd' ,4 , 5] ]


課題③ 解答

解答

>>> print(c[0][2]+c[1][2])
Cc