Python

Review

資料型態

整數型態

  • int
    • ​integer
  • 2進位、8進位、10進位、16進位
    • 2進位 > 0~1
      • 0b >  binary
    • 8進位 > 0~7
      • 0o >  octal
    • 16進位 > 0~15
      • 0x >  Hexadecimal  

2進位

8進位

16進位

整數顧名思義就是整數

所有的數字int()出來都會是整數

int(3)
int(0)
int(-1)
int(3.1415)

字元 Char

  • chr()
  • 把數字或字串轉換為字元
a = chr(97)
print(type(a))
print(chr(97))

布林值

  • True
  • False

布林&整數

int(True)
int(False)
int(True)  >>  1
int(False)  >>  0

2018/10/23

for 迴圈

程式語言的迭代陳述,能夠讓程式碼反覆的執行他跟其他的迴圈

for <變數> in <範圍>:
    <條件>

range() 函式

range(start, stop[, step])
range(10)
range(1, 10)
range(0, 11, 2)
range(30, 0, -3)
  • start
    • 起始的位置
  • stop
    • 結束的位置、stop-1
  • step
    • 間隔,預設為1

實作練習

印出 50~100 中的奇數

for i in range(51, 100, 2):
  print(i)

重複輸出一個東西 --> 字串

for i in range(10):
    print('Hello!')

format()

格式

  • %s : 字串
  • %d : 十進位整數 (int)
  • %x : 十六進位整數
  • %o : 八進位整數
  • %f : 十進位浮點數
  • %e : 指數浮點數
  • %g : 十進位或指數浮點數
  • %% : 字面 %

'<格式>' % <變數>

n=13
f=7.03
s='string'

print('%d' % n)
print('%f' % f)
print('%s' % s)
'%10d %10f %10s' % (n,f,s)
>>> '        13   7.030000     string'

'%-10d %-10f %-10s' % (n,f,s)
>>> '13         7.030000   string    '

'%10.4d %10.4f %10.4s' % (n,f,s)
>>> '      0013     7.0300       stri'

'%.4d %.4f %.4s' % (n,f,s)
>>> '0013 7.0300 stri'

10 : 格數

- : 向左靠齊

.4d : 顯示幾格

List  列表

list = ['1', '2', 3', ......]

list = ['one', 'two', 'three']

print(list)
for i in list:
    print(i)

實作練習

  • 結合 for、format、list、zip
  • 函數 : len()
    • 計算長度

結果畫面

name = ['珍珍', '旻旻', '國國', '泰泰', '其其']
num = ['1', '2', '3', '4', '5']

for i, j in zip(name, num):
  print(j, i)

print('-----------------')

cnt = len(num)
print('總共有%d人' % cnt)

程式碼 (方法不只一種)

2018/12/18

套件、模組

  • 一個模組簡單來說就是一個Python檔案
    • 而在模組中(一個Python檔案)會出現的不外乎就是運算、函式與類別了

Import  匯入

Import <模組>

import random

for i in range(51, 100, 2):
  print(i)

匯入的東西都加在最上面

random 模組

  • 使用 random 裡面的 random() 函數
    • 回傳隨機生成的一個數字,範圍在 [0,1) 內
import random

print(random.random())

random 模組

  • 使用 random 裡面的 random() 函數
    • 回傳隨機生成的一個數字,範圍在 [0,1) 內
import random

print(random.random())

random 模組

  • randint(<start>, <end>)
    • 回傳隨機生成的一個數字,範圍在 [<start>, <end>) 內
import random

print(random.randint(1,10))

random 模組

  • choice('<string>')
    • 回傳隨機生成的一個元素,範圍在 <string> 內
import random

print(random.choice('NTUB_IRC'))

choice() 除了字串外也可以使用清單

  • choice(<list>)
    • 回傳隨機生成的一個元素,範圍在 <list> 內
import random

ll = ['珍珍', '旻旻', '國國', '泰泰', '其其']
num = [1,2,3,4,5]

print(random.choice(ll))
print(random.choice(num))

random 模組

  • randrange(1,100,2)
    • 回傳隨機生成的一個數字,範圍在 range 內
import random

print(random.randrange(1,100,2))

random 模組

  • randrange(1,100,2)
    • 回傳隨機生成的一個數字,範圍在 range 內
import random

print(random.randrange(1,100,2))

random 模組

  • random.shuffle(<list>)
    • 打亂 <list> 原先的順序
import random

ll = ['珍珍', '旻旻', '國國', '泰泰', '其其']
num = [1,2,3,4,5]
a = random.shuffle(ll)
b = random.shuffle(num)
print(ll)
print(num)

random 模組

  • random.sample(<list>, n)
    • 打亂 <list> 原先的順序,顯示 n 個個數
import random

num = [1,2,3,4,5]

c = random.sample(num, 3)
print(c)

星星金字塔練習

波浪

import random

num = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18]
b = random.shuffle(num)

for i in num:
  print('*'*i)

Python

By kellyhu0109