日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

2020-11-07

發布時間:2023/12/15 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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

a = bin(1010) # 二進制 b = oct(1010) # 八進制 c = hex(1010) # 十六進制 print(a, b, c)

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

z = 2.3e+3-1.34e-3j print(z.real) # 提取實部 print(z.imag) # 提取虛部 2300.0 -0.00134

3.5 思考各操作符的優先級,計算下列表達式。

解:

3.6 請將下列數學表達式用Python程序寫出來,并運算結果。

mod 表示取余

x1 = (pow(2, 4)+7-3*4)/5 x2 = (1+pow(3, 2))*(16 % 7)/7 print("x1={}\nx2={}".format(x1, x2)) x1=2.2 x2=2.857142857142857

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.0

3.9 請利用math庫將47°的角轉換為弧度值,并將結果賦予給一個變量。
3.10 請利用math庫將π/7的弧度值轉換為角度值,并將結果賦予給一個變量。

import math x = math.radians(47) y = math.degrees(math.pi/7) print("47°的角轉換為弧度值為:{}\n""π/7的弧度值轉換為角度值為:{}".format(x, y)) 47°的角轉換為弧度值為:0.8203047484373349 π/7的弧度值轉換為角度值為:25.714285714285715

3.11 math庫有44個函數,Python計算生態有超過10萬個各類函數庫,思考一下,該怎么學習這些函數庫呢?

略。。。

3.12 一年365天,初始水平值為1.0,每工作一天水平增加N,不工作時水平不下降,一周連續工作4天,請編寫程序運算結果并填寫下表:

def day(n):level = 1.0for week in range(365):if week % 7 in [1, 2, 3, 4]:level *= (1 + n)return levelfor i in range(1, 11):N = i / 1000print("N={:.3f}的年終值為{:.3f}".format(N, day(N))) N=0.001的年終值為1.231 N=0.002的年終值為1.515 N=0.003的年終值為1.865 N=0.004的年終值為2.294 N=0.005的年終值為2.822 N=0.006的年終值為3.470 N=0.007的年終值為4.267 N=0.008的年終值為5.246 N=0.009的年終值為6.447 N=0.010的年終值為7.922

3.13
3.14
3.15 一年365天,初始水平值為1.0,以每個月30天計算,在每個月月初連續10天里,每工作一天水平增加N,該月其他時間工作與否都不增加水平值。請編寫程序運算結果并填寫下表:

def year(n):level = 1.0for month in range(12):for day in range(1, 31):if day / 10 <= 1.0:level *= (1 + n)return levelfor i in range(1, 11):N = i / 1000print("N={:.3f}的年終值為{:.3f}".format(N, year(N))) N=0.001的年終值為1.127 N=0.002的年終值為1.271 N=0.003的年終值為1.433 N=0.004的年終值為1.615 N=0.005的年終值為1.819 N=0.006的年終值為2.050 N=0.007的年終值為2.310 N=0.008的年終值為2.602 N=0.009的年終值為2.930 N=0.010的年終值為3.300

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的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。