2020-11-07
Python語言程序設計基礎(第2版)崇天 著 思考題
第3章 基本數據類型*(僅供參考)*
3.1 既然浮點數可以表示所有整數數值,Python語言為何要同時提供整數和浮點數兩種類型?
因為浮點數類型的最長運算結果可輸出17位數字,其運算精度為2.220e-16,運算誤差僅為0.000 000 000 000 000 2,在對數據進行高精度科學計算是浮點數類型不能準確的計算出來。而整數類型進行運算能夠輸出完全準確的結果。
3.2 Python語言中整數1010的二進制、八進制和十六進制表示分別是什么?
二進制:0b1111110010
八進制:0o1762
十六進制:0x3f2
3.3 Python語言中-77.的科學計數法表示是什么?4.3e-3的十進制表示什么?
-77.的科學計數法表示:-7.7e1 或 -7.7e+1
4.3e-3的十進制表示:0.0043
3.4 復數2.3e+3-1.34e-3j的實部和虛部分別是什么?采用什么方法提取一個復數的實部和虛部?
實部:2.3e+3
虛部:-1.34e-3
3.5 思考各操作符的優先級,計算下列表達式。
解:
3.6 請將下列數學表達式用Python程序寫出來,并運算結果。
mod 表示取余
3.7 假設x=1,x*=3+5**2的運算結果是什么?
x = x*(3+5**2)=1*(3+25)=28
3.8 請利用math庫運行下面語句,獲得計算結果。
import math s = list() s.append(math.sin(2*math.pi)) # (1) s.append(math.fabs(-2.5)) # (2) s.append(math.ceil(3.5+math.floor(-2.5))) # (3) s.append(round(math.fabs(-2.5))) # (4) s.append(math.sqrt(math.pow(2, 4))) # (5) s.append(math.log(math.e)) # (6) s.append(math.gcd(12, 9)) # (7) s.append(math.fmod(36, 5)) # (8) for i in range(8):print("s{}={}".format(i+1, s[i]))結果
s1=-2.4492935982947064e-16 s2=2.5 s3=1 s4=2 s5=4.0 s6=1.0 s7=3 s8=1.03.9 請利用math庫將47°的角轉換為弧度值,并將結果賦予給一個變量。
3.10 請利用math庫將π/7的弧度值轉換為角度值,并將結果賦予給一個變量。
3.11 math庫有44個函數,Python計算生態有超過10萬個各類函數庫,思考一下,該怎么學習這些函數庫呢?
略。。。
3.12 一年365天,初始水平值為1.0,每工作一天水平增加N,不工作時水平不下降,一周連續工作4天,請編寫程序運算結果并填寫下表:
3.13 略
3.14 略
3.15 一年365天,初始水平值為1.0,以每個月30天計算,在每個月月初連續10天里,每工作一天水平增加N,該月其他時間工作與否都不增加水平值。請編寫程序運算結果并填寫下表:
3.16 s=“hello”, t=“world”, s+=t, 則s、s[-1]、s[2:8]、s[-2::-1]分別是多少?
s = s + t
s = “helloworld”
s[-1] = “d”
s[2:8] = “llowor”
s[-2::-1] = “lrowolleh”
3.17 判斷題:Python中"4"+“5"結果為"9”
錯,字符"4"和"5"的拼接,應是"45"
3.18 采用微實例3.1的設計思路還能完成哪些常用計算需要?
實例3.1 是獲取星期字符串
日期、金額、各種商品的型號等等
3.19 s=“Python String”,寫出下列操作的輸出結果:
s = "Python String" print(s.upper()) print(s.lower()) print(s.find('i')) print(s.replace('ing', 'gni')) print(s.split()) PYTHON STRING python string 10 Python Strgni ['Python', 'String']3.20 下列表達式錯誤的是()。
A.‘abcd’<‘ad’
B.‘abc’<‘abcd’
C."<‘a’
D.‘Hello’>‘hello’
C
3.21 請思考并描述下面Python語句的輸出結果:
print("{:>15s}:{:<8.2f}".format(“Length”, 23.87501))
在15個字符長度里,由右對齊輸出Length,其余用空格填充;再接著輸出冒號(:),后面是在8個字符長度里,由左對齊輸出23.87501保留2位小數長度的數23.88
*********Length:23.87*** # 這里將空格換成*3.22 格式化輸出389的二進制、八進制、十進制、和十六進制的表達式。以及對應的Unicode字符。
print("{0}的二進制是{0:b}\n""{0}的八進制是{0:o}\n""{0}的十進制是{0:d}\n""{0}的十六進制是{0:x}\n""{0}的Unicode字符是{0:c}\n".format(389)) 389的二進制是110000101 389的八進制是605 389的十進制是389 389的十六進制是185 389的Unicode字符是?3.23 格式化輸出0.002 178 對應的科學表示法形式,保留4位有效位的標準浮點數形式以及百分形式。
print("科學表示法:{0:e}\n""標準浮點形式:{0:.4f}\n""百分形式:{0:.4%}".format(0.002178)) 科學表示法:2.178000e-03 標準浮點形式:0.0022 百分形式:0.2178%3.24 進度條反映了軟件的執行速度,請思考并給出至少3種提高軟件執行速度的方法。
1.減少程序代碼,盡量使用函數,局部變量
2.使用內建的字符串,元組,列表,集合,字典等容器。
3.有選擇性的消除屬性訪問。如多用 from math import sqrt 而不要直接再程序中多次調用 math.sqrt(),或直接聲明局部變量。
3.25 str.center()方法的功能是什么?
str.center()方法會對原字符串進行排版,通過指定一個長度值,將原字符串在該長度內居中。可選的填充字符參數可以指定填充字符,默認情況下以空格為填充字符。如果width大于字符串長度,則返回一個新字符串,否則返回原字符串。
str.center(width, fillchar) # width 字符串排版總寬度,整型參數,不可省略的參數 # fillchar 填充字符,字符串參數,可省略的參數,省略時填充字符為空格符3.26 如果將\r放在print()中字符串的其他部分,會產生什么效果?
產生的效果是,只會運行顯示print()字符串中\r后面的字符串
總結
以上是生活随笔為你收集整理的2020-11-07的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机二级C语言操作题怎么做?注意事项(
- 下一篇: 【模型库】六足球形机器人三维模型+urd