實驗1 python開發環境和程式設計初體驗
阿新 • • 發佈:2022-03-29
print('hey, u') print('hey', ' u') x,y,z = 1,2,3 print(x, y, z) print('x = %d, y = %d, z = %d' %(x,y,z)) print('x = {}, y = {}, z = {}'.format(x,y,z)) print(f'x = {x}, y = {y}, z = {z}') print(x) print(y) print(z) print(x, end=' ') print(y, end=' ') print(z)
x1, y1 = 1.2, 3.57 x2, y2 = 2.26, 8.7print('{:-^40}'.format('輸出1')) print('x1 = {}, y1 = {}'.format(x1, y1)) print('x2 = {}, y2 = {}'.format(x2, y2)) print('{:-^40}'.format('輸出2')) # {:-^40} print('x1 = {:.1f}, y1 = {:.1f}'.format(x1, y1)) print('x2 = {:.1f}, y2 = {:.1f}'.format(x2, y2)) print('{:-^40}'.format('輸出3')) # {:-^40} print('x1 = {:<15.1f}, y1 = {:<15.1f}'.format(x1, y1)) print('x2 = {:<15.1f}, y2 = {:<15.1f}'.format(x2, y2)) print('{:-^40}'.format('輸出3')) print('x1 = {:>15.1f}, y1 = {:>15.1f}'.format(x1, y1)) print('x2 = {:>15.1f}, y2 = {:>15.1f}'.format(x2, y2))
name1, age1 = 'Bill', 19 name2, age2 = 'Hellen', 18 title = 'Personnel Information' print(f'{title:=^40}') print(f'name: {name1:10}, age: {age1:3}') print(f'name: {name2:10}, age: {age2:3}') print(40*'=')
用法1:用於輸出單個字串或單個變數
用法2: 用於輸出多個數據項,用逗號分隔
用法3: 使用者混合字串和變數值
方式1: 傳統c風格 print('x = %d, y = %d, z = %d' %(x,y,z))
方式2: s.format()方法 print('x = {}, y = {}, z = {}'.format(x,y,z))
方式3: f-string方式 print(f'x = {x}, y = {y}, z = {z}')
其它: 預設輸出後換一行,輸出結束後,不換行;通過end指定資料項之間的分隔符
實驗2
r1 = eval('1 + 2') # 相當於r1 = 1 + 2 print(type(r1), r1) r2 = eval('[1, 6, 7.5]') #相當於r2 = [1, 6, 7.5] print(type(r2), r2) r3 = eval('"python"') # 相當於r3 = "python" print(type(r3), r3) r4 = eval('7, 42') # 相當於r4 = 7, 43 print(type(r4), r4)
for _ in range(3):
x, y = eval(input('Enter two oprands: '))
ans = x + y
print(f'{x} + {y} = {ans}')
print(f'{type(x)} + {type(y)} = {type(ans)}')
功能:把字串轉換為python表示式 理解:相當於把圓括號中的內容,兩側引號去掉
實驗3
# 浮點數簡單運算 ans1 = 0.1 + 0.2 print(f'0.1 + 0.2 = {ans1}') from decimal import Decimal ans2 = Decimal('0.1') + Decimal('0.2') print(f'0.1 + 0.2 = {ans2}')
執行程式,比較line3和line6的列印輸出結果,分析:
1.為什麼line3輸出結果顯示存在誤差?
計算機資料儲存型別使用二進位制,儲存浮點數型別時會有一定誤差,小數位數可能會出現不確定的情況。
2.decimal模組中的工具Decimal()是如何進行浮點運算的?
decimal模組的設計以三個概念為中心:decimal 數值,算術上下文和訊號。
decimal 數值是不可變物件。 它由符號,係數和指數位組成。 為了保持有效位,係數位不會截去末尾零。
算術的上下文是指定精度、舍入規則、指數限制、指示操作結果的標誌以及確定符號是否被視為異常的陷阱啟用器的環境。
訊號是在計算過程中出現的異常條件組。 根據應用程式的需要,訊號可能會被忽略,被視為資訊,或被視為異常。
實驗4
# 字元編碼相關 # chr()返回unicode編碼對應的字元 print(chr(0x1f600), end = " ") print(chr(0x1f601), end = " ") print(chr(0x1f602), end = " ") print(chr(0x1f603), end = " ") print(chr(0x1f604)) print(chr(10000), end=" ") print(chr(0x025b), end=" ") print(chr(0x2708), end=" ") print(chr(0x00A5), end=" ") print(chr(0x266b)) # ord()返回字元的unicode編碼 print(ord('a'), end = " ") print(ord('b'), end = " ") print(ord('c')) print(ord('A'), end = " ") print(ord('B'), end = " ") print(ord('C')) print(ord('0'), end = " ") print(ord('1'), end = " ") print(ord('2'))
chr()返回unicode編碼對應的字元; ord()返回字元的unicode編碼
實驗5
# 簡單的數學計算 from math import sqrt n = float(input('輸入一個數:'))# python中計算開平方的兩種方式 ans1 = sqrt(n) ans2 = n**0.5 print('%.2f的平方根是: %.2f' %(n, ans1)) # 以傳統c風格方式輸出 print('{:.2f}的平方根是: {:.2f}'.format(n, ans2)) # 使用字串format()方法輸出 print(f'{n:.2f}的平方根是: {ans2:.2f}') # 使用f-string方式輸出
# 神奇的pi, 與大餅 from math import pi text = ''' 好奇心是人的天性。 理想情況下,學習新東西是讓人愉快的事。 但學校裡的學習似乎有點像苦役。 有時候,需要畫一個大餅,每次嘗試學一些新鮮的,才會每天變得更好一點點。 ''' print(text) r = float(input('給學習畫一個大餅,大餅要做的很大,半徑要這麼大: ')) circle = 2*pi*r print(f'繞起來,大餅的圓周有這麼長, {circle}, 夠不夠激發你探索未知的動力...')
實驗6
for _ in range(3): x = eval(input('輸入:')) print(x, '的365次方:', x ** 365)
實驗7
# 煮雞蛋時,一旦超過臨界溫度,雞蛋裡面的蛋白質就會變性凝結,凝結隨著溫度升高而加快。蛋清中蛋白質凝結的臨界溫度時63°,而蛋黃中蛋白質凝結的臨界溫度是70°。 # 如果要煮溏心蛋,水溫應當保持在63°~70°,加熱足夠長就會使蛋清凝固; # 如果要煮硬心蛋,蛋黃中心的溫度應該達到70°以上並保持一段時間。 # 以下公式表示蛋黃中心達到溫度Ty(攝氏度)所需的時間t:引數M, ρ, c, K是蛋的性質:M是質量,ρ是密度,c是比熱容,K是熱導率。 # ρ = 1.038g/cm2 c = 3.7J/(g.K) K = 5.4×10-3W/(cm.K) 小雞蛋M = 47g, 大雞蛋M = 67g # Tw是水沸騰的溫度(以℃計)T0是放入水中之前蛋的原始溫度(以℃計)依據上述公式,計算煮雞蛋的時間。 # 設Tw = 100℃,Ty= 70℃,分別計算:從冰箱(T0 = 4℃)取得的大雞蛋,計算時間;從室溫(T0 = 20℃)取得的大雞蛋,計算時間,T0 = xx℃, t = xx分xx秒 import math math.log(10) ρ = 1.038 c = 3.7 K = 5.4*10**(-3) Tw = 100 Ty = 70 M = 47 T0 = 4 t = M**(2/3)*c*ρ**(1/3)/(K*(math.pi**2)*(4*math.pi/3)**(2/3))*math.log(0.76*(T0-Tw)/(Ty-Tw)) print('T0 = 4℃, t =', int(t), '分', int(t%60), '秒') M = 67 T0 = 20 print('T0 = 20℃, t =', int(t), '分', int(t%60), '秒')
本次實驗總結:
1.本次實驗主要考察一些基本python用語,需要多運用才能熟練,本章基礎知識也為後面學習更多語法知識打下基礎。
2.學習此門語言需嚴謹細心,注重邏輯和框架,還應該堅持和耐心。