1. 程式人生 > 其它 >實驗一:Python開發環境使用和程式設計初體驗

實驗一:Python開發環境使用和程式設計初體驗


 
#task1_1.py
1
# print輸出的幾種用法 2 3 # 用法1:用於輸出單個字串或單個變數 4 print('hey, u') 5 6 # 用法2:用於輸出多個數據項,用逗號分隔 7 print('hey', ' u') 8 x,y,z = 1,2,3 9 print(x, y, z) 10 11 # 用法3:使用者混合字串和變數值 12 print('x = %d, y = %d, z = %d'%(x,y,z)) # 方式1: 傳統c風格 13 print('x = {}, y = {}, z = {}'.format(x,y,z)) # 方式2: s.format()方法
14 print(f'x = {x}, y = {y}, z = {z}') # 方式3: f-string方式 15 16 # 其它: 輸出後是否換行 17 print(x)# 預設輸出後換一行 18 print(y) 19 print(z) 20 21 print(x, end=' ') # 輸出結束後,不換行;通過end指定資料項之間的分隔符 22 print(y, end=' ') 23 print(z)
#task1_2.py

 


1
# 使用字串的format()方法,對輸出資料項進行格式化 2 3 x1, y1 = 1.2, 3.57 4 x2, y2 = 2.26
, 8.7 5 6 # 輸出1 7 print('{:-^40}'.format('輸出1')) # {:-^40}控制輸出資料格式: 寬度佔40列,居中對齊,空白處用-補齊 8 print('x1 = {}, y1 = {}'.format(x1, y1)) 9 print('x2 = {}, y2 = {}'.format(x2, y2)) 10 11 # 輸出2 12 print('{:-^40}'.format('輸出2')) # {:-^40}控制輸出資料格式: 寬度佔40列,居中對齊,空白處用-補齊 13 print('x1 = {:.1f}, y1 = {:.1f}'
.format(x1, y1)) # {:.1f}控制小數輸出精度,保留1位小數 14 print('x2 = {:.1f}, y2 = {:.1f}'.format(x2, y2)) 15 16 # 輸出3 17 print('{:-^40}'.format('輸出3')) # {:-^40} 控制輸出資料格式: 寬度佔40列,居中對齊,空白處用-補齊 18 print('x1 = {:<15.1f}, y1 = {:<15.1f}'.format(x1, y1)) # {:<15.1f}控制資料輸出寬度佔15列,小數部分佔1列,左對齊,空白處預設補空格 19 print('x2 = {:<15.1f}, y2 = {:<15.1f}'.format(x2, y2)) 20 21 # 輸出4 22 print('{:-^40}'.format('輸出3')) # {:-^40} 控制輸出資料格式: 寬度佔40列,居中對齊,空白處用-補齊 23 print('x1 = {:>15.1f}, y1 = {:>15.1f}'.format(x1, y1)) # {:>15.1f}控制資料輸出寬度佔15列,小數部分佔1列,右對齊,空白處預設補空格 24 print('x2 = {:>15.1f}, y2 = {:>15.1f}'.format(x2, y2))
#task1_3.py
1
# 使用f-string方式輸出資料並控制格式 2 3 name1, age1 = 'Bill', 19 4 name2, age2 = 'Hellen', 18 5 title = 'Personnel Information' 6 7 print(f'{title:=^40}') # 輸出title的值,=^40指定輸出寬度佔40列,居中對齊,用=填充空白 8 print(f'name: {name1:10}, age: {age1:3}') # 10和3分別指定資料項輸出寬度 9 print(f'name: {name2:10}, age: {age2:3}') 10 print(40*'=')

 

總結:1.使用字串的format()方法,對輸出資料項進行格式化  2.使用f-string方式輸出資料並控制格式

實驗2

task2_1.py

 1 # 內建函式eval()
 2 # 功能:把字串轉換為python表示式
 3 # 理解:相當於把圓括號中的內容,兩側引號去掉
 4 r1 = eval('1 + 2') # 相當於r1 = 1 + 2
 5 print(type(r1), r1)
 6 r2 = eval('[1, 6, 7.5]') #相當於r2 = [1, 6, 7.5]
 7 print(type(r2), r2)
 8 r3 = eval('"python"') # 相當於r3 = "python"
 9 print(type(r3), r3)
10 r4 = eval('7, 42') # 相當於r4 = 7, 43
11 print(type(r4), r4)

task2_2.py

1 # 組合使用內建函式eval()和input()
2 x, y = eval(input('Enter two oprands: ')) # 輸入的兩個運算元之間用逗號分隔(英文半形輸入法下的逗號)
3 ans = x + y
4 print(f'{x} + {y} = {ans}')
5 print(f'{type(x)} + {type(y)} = {type(ans)}')

總結:把字串轉換為python表示式,相當於把圓括號中的內容,兩側引號去掉

實驗3

task3.py

 1 # 浮點數簡單運算
 2 ans1 = 0.1 + 0.2
 3 print(f'0.1 + 0.2 = {ans1}')
 4 from decimal import Decimal
 5 ans2 = Decimal('0.1') + Decimal('0.2')
 6 print(f'0.1 + 0.2 = {ans2}')

答:

實驗4

task4.py

 1 # 字元編碼相關
 2 # chr()返回unicode編碼對應的字元
 3 print(chr(0x1f600), end = " ")
 4 print(chr(0x1f601), end = " ")
 5 print(chr(0x1f602), end = " ")
 6 print(chr(0x1f603), end = " ")
 7 print(chr(0x1f604))
 8 print(chr(10000), end=" ")
 9 print(chr(0x025b), end=" ")
10 print(chr(0x2708), end=" ")
11 print(chr(0x00A5), end=" ")
12 print(chr(0x266b))
13 # ord()返回字元的unicode編碼
14 print(ord('a'), end = " ")
15 print(ord('b'), end = " ")
16 print(ord('c'))
17 print(ord('A'), end = " ")
18 print(ord('B'), end = " ")
19 print(ord('C'))
20 print(ord('0'), end = " ")
21 print(ord('1'), end = " ")
22 print(ord('2'))

總結:chr()返回unicode編碼對應的字元,ord()返回字元的unicode編碼

實驗5

task5_1.py

1 # 簡單的數學計算
2 from math import sqrt
3 n = float(input('輸入一個數:'))
4 # python中計算開平方的兩種方式
5 ans1 = sqrt(n)
6 ans2 = n**0.5
7 print('%.2f的平方根是: %.2f' %(n, ans1)) # 以傳統c風格方式輸出
8 print('{:.2f}的平方根是: {:.2f}'.format(n, ans2)) # 使用字串format()方法輸出
9 print(f'{n:.2f}的平方根是: {ans2:.2f}') # 使用f-string方式輸出

task5_2.py

 1 # 神奇的pi, 與大餅
 2 from math import pi
 3 text = '''
 4 好奇心是人的天性。
 5 理想情況下,學習新東西是讓人愉快的事。
 6 但學校裡的學習似乎有點像苦役。
 7 有時候,需要畫一個大餅,每次嘗試學一些新鮮的,才會每天變得更好一點點。
 8 '''
 9 print(text)
10 r = float(input('給學習畫一個大餅,大餅要做的很大,半徑要這麼大: '))
11 circle = 2*pi*r
12 print(f'繞起來,大餅的圓周有這麼長, {circle}, 夠不夠激發你探索未知的動力...')

實驗6

task6.py

1 x=eval(input())
2 print(f"{x}的365次方:{x**365}")

實驗7

task7.py

 1 from math import pi
 2 from math import log
 3 p=1.038
 4 c=3.7
 5 K=5.4*10**(-3)
 6 M=67
 7 Tw=100
 8 Ty=70
 9 To=float(input("輸入To:"))
10 t=(M**(2/3)*c*p**(1/3))/(K*pi**2*((4*pi)/3)**(2/3))*log(0.76*((To-Tw)/(Ty-Tw)))
11 print(f"To={To}°C,t={t//60}分{t%60}秒")

通過這次實驗我對python有了更加深刻的認識,對很多函式的運用有了基本的瞭解。