Try   HackMD

輸出結構

tags: Python

函數 可以視為程式的快捷鍵;以 print( ) 函數為例,只要輸入 print(想輸出的東西) ,它就可以幫你 print 出來,而程式語言中存在這種各式各樣,各種功能的函數,在未來就會碰到了

普通輸出

在Python中輸出變數時,可以指定一些格式,例如

int 整數

n = 10 print('我有%d個喜歡的遊戲' % n) # 輸出結果: # 我有10個喜歡的遊戲

或是

n = 10 m = 3 print('我有%3d個朋友,我們每週會一起玩%2d次Apex' % (n,m)) # 輸出結果: # 我有 10個朋友,我們每週會一起玩 3次Apex # %3d表示指定輸出3位數字(未滿則以空格填補

str 字串

n = 'Mr.' print('我的綽號是%s' % n) # 輸出結果: # 我的綽號是Mr.

float 浮點數

n = 3.14159 print('圓周率到小數點後四位是%.4f' % n) #小數點前位數也可指定 例:%2.4f # 輸出結果: # 圓周率小數點前四位是3.1416

外加

加入\n會判別為需要換行

print('我有10個喜歡的遊戲\n我有10個朋友,我們每週一起玩3次Apex') # 輸出結果: # 我有10個喜歡的遊戲 # 我有10個朋友,我們每週一起玩3次Apex

加入,end=''會判別為輸出結尾應為''

print('我有10個喜歡的遊戲', end='') print('我有10個朋友,我們每週一起玩3次Apex') # 輸出結果: # 我有10個喜歡的遊戲我有10個朋友,我們每週一起玩3次Apex # 預設為: # print('我有%d個喜歡的遊戲' % n , end='\n')

或是

將輸出內容進行拆分

n = 10 m = 12 print ('我有%d個喜歡的遊戲,' % n, '同時,', '我有%d個朋友會跟我一起玩' % m) # 輸出結果: # 我有10個喜歡的遊戲, 同時, 我有12個朋友會跟我一起玩

加入\t會判別為需要輸出同tab鍵的空格

print('我有10個喜歡的遊戲\t我有10個朋友,我們每週一起玩3次Apex') # 輸出結果: # 我有10個喜歡的遊戲 我有10個朋友,我們每週一起玩3次Apex
print('\\') print('\'') print("\"") # 輸出結果: # \ # ' #"
n = 'name=' print('[%10s]' % n) # 輸出結果: # [ name=]
n = 'name=' print('[%-10s]' % n) # 輸出結果: # [name= ]
print('''Hi 我是 Harry! ''') # 輸出結果: # Hi # 我是 Harry!

format 格式化輸出

int 整數

n = 123 m = 456 print('{} {}'.format(n, m)) # 不數字編號 print('{0} {1}'.format(n, m)) # 帶數字編號(程式語言順序由0開始) print('{1} {0}'.format(n, m)) # 自訂順序 print('{0} {1} {0}'.format(n, m)) # 重複多次輸出 print(f'{n} {m}') # 直接指定 # 輸出結果: # 123 456 # 123 456 # 456 123 # 123 456 123 # 123 456

str 字串

n = Hello m = World print('{} {}'.format(n, m)) # 不數字編號 print('{0} {1}'.format(n, m)) # 帶數字編號(程式語言順序由0開始) print('{1} {0}'.format(n, m)) # 自訂順序 print('{0} {1} {0}'.format(n, m)) # 重複多次輸出 print(f'{n} {m}') # 直接指定 # 輸出結果: # Hello World # Hello World # World Hello # Hello World Hello # Hello World

float 浮點數

n = 3.14159 m = 6.02214 print('{} {}'.format(n, m)) # 不數字編號 print('{0} {1}'.format(n, m)) # 帶數字編號(程式語言順序由0開始) print('{1} {0}'.format(n, m)) # 自訂順序 print('{0} {1} {0}'.format(n, m)) # 重複多次輸出 print(f'{n} {m}') # 直接指定 # 輸出結果: # 3.14159 6.02214 # 3.14159 6.02214 # 6.02214 3.14159 # 3.14159 6.02214 3.14159 # 3.14159 6.02214

外加

n = 'name=' print('[{:10}]'.format(n)) # 輸出結果: # [ name=]
n = 'name=' print('[{:>10}]'.format(n)) # 輸出結果: # [name= ]
n = 'name=' print('[{:^10}]'.format(n)) # 輸出結果: # [ name= ]

輸入結構

input()函數

int 整數

n = input('請輸入你的年齡:') print(n) # 輸出結果: # 你的年齡

str 字串

n = input('請輸入你的名字:') print(n) # 輸出結果: # 你的名字

float 浮點數

n = input('請輸入圓周率到小數點後2位:') print(n) # 輸出結果: # 3.14

請試試輸出三段程式的n的型別

n = input('請輸入你的年齡:') print(n) print(type(n)) # 輸出結果: # 你的年齡 # <class 'str'>
n = input('請輸入你的名字:') print(n) print(type(n)) # 輸出結果: # 你的名字 # <class 'str'>
n = input('請輸入圓周率到小數點後2位:') print(n) print(type(n)) # 輸出結果: # 3.14 # <class 'str'>

沒錯,皆是str 字串

這是Python的設定,但也可以將str 字串調整成正確的型別

int() 函數

n = input('請輸入你的年齡:') n = int(n) print(n) print(type(n)) # 輸出結果: # 你的年齡 # <class 'int'>

str() 函數

n = 3.14159 n = str(n) print(n) print(type(n)) # 輸出結果: # 3.14159 # <class 'str'>

float() 函數

n = input('請輸入圓周率到小數點後2位:') n = float(n) print(n) print(type(n)) # 輸出結果: # 3.14 # <class 'float'>

eval() 函數

上述三個函數是強制將變數轉換成指定的型別;但如果不確定變數是int 整數還是float 浮點數時,直接用int() 函數會把float 浮點數小數去掉,強制轉換成int 整數

eval() 函數則是會自動判斷需要轉換成int() 函數還是float 浮點數

n = input('請輸入你的年齡:') n = eval(n) print(n) print(type(n)) # 輸出結果: # 你的年齡 # <class 'int'>
n = input('請輸入圓周率到小數點後2位:') n = eval(n) print(n) print(type(n)) # 輸出結果: # 3.14 # <class 'float'>

split() 函數

在需要單行輸入多個變數的值時,可以使用.split() 函數,它會根據()內要求分割,並依順序賦值於變數

n,m = input('輸入生日的月份及日期,範例5/13:').split('/') print(n) print(m) # 輸出結果: # 月份 # 日期 # 預設為: # n,m = input('輸入生日的月份及日期,範例5/13:'.split('')