您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關Python中的基本數據類型有哪些呢,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
基本數字類型
首先我們開始認識一下基本的數字類型吧:
整數類型
浮點數類型
復數類型
整數類型
1 整數類型其實與數學中的整數是一樣的定義,整數類型包括正整數,負整數,沒有取值范圍。pow(x,y),pow()函數,用來計算x的y次方2 整數類型還有四種進制關系:
十進制 100 99 -125
二進制 0101001101 001110101
八進制 以0o或0O開頭 0o123, -0O456
十六進制 以0x或者0X開頭 0x9a
浮點數類型
帶有小數點以及小數的數字
其取值范圍基本無限制
這里需要注意一下浮點數之間的運算會存在不定尾數的情況,不是語言的bug,是很多編程都會出現的情況。例如。0.1 + 0.3 = 0.4但是 0.1 + 0.2 = 0.30000000004就是因為二進制與十進制轉換的問題:0.1
0.00011001100110011001100110011001100110011001100110011010 (二進制表示) 53位二進制表示小數部分,約
10-160.1000000000000000055511151231257827021181583404541015625 (十進制表示)0.1 + 0.2 二進制表示小數,可以無限接近,但不完全相同 結果無限接近0.3,但可能存在尾數
復數類型
復數類型與數學中復數的定義相同,大家可先了解一下,日后我們用到再去具體講解。
數字運算操作符
在編程中對于數字的操作是非常重要的,而數字之間的運算也是最常見的操作,對于掌握數字操作是一個很好地基礎。
x + y x與y相加
x - y x與y相減
x * y x與y相乘
x / y x與y相除
x // y x與y整數除,x與y之整數商 10//3結果是3
+X 表示 x的本身
-X表示負的X
x%y 余數,取模運算 10%3 為 1
數字運算相關函數
abs() 絕對值函數 abs(-10) = 10
divmod(x,y) 取余 商函數 同時輸出兩個數余和商divmod(10,3) = (3,1)
pow(x, y)冪函數
round(x[, d]) 四舍五入,d是保留小數位數,默認值為0 round(-10.123, 2) 結果為 -10.12
max(x1,x2,xn)最大值函數 輸出其中最大的一個
min(x1,x2,xn)最小值函數 輸出其中最小的一個
int(x) 將X變成整型
float(x) 將X變為浮點型
complex(x)將X變成復數類型
實例分析–天天向上的力量
大家可以看下面這個例子:一年365天,每天進步1‰,累計進步多少呢? 1.001365一年365天,每天退步1‰,累計剩下多少呢? 0.999365那么如何通過程序將問題解決呢?
dayup =
pow(1.001,565)#每天進步千分之一
daydown =
pow(0.999,365)#每天退步千分之一
print('向上的值為:{:.2f},向下的值為:{:.2f}'.format(dayup,daydown))
我們再來思考一個問題:一年365天,一周5個工作日,每天進步1%一年365天,一周2個休息日,每天退步1%這種工作日的力量,如何計算呢
dayup =
1.0 # 定義一個初始進步值
dayfoctor =
0.01 #定義每天進步百分之一
for i in
range(365):#每年365天 建立一個for循環
if i %
7 in [0,6]: #取模運算
dayup = dayup*(1-dayfoctor)
else:
dayup = dayup*(1+dayfoctor)
print('工作日的力量:{:.2f}'.format(dayup))
(運行結果) 工作日的力量:4.63
for i in range(365):
if i %
7 in [0,6]:
分析這段代碼,我們可以知道 建立一個for循環,i 是進步的天數,可以自動循環一年。if i % 7 in [0,6],對 i 進行取模運算,如果余數為0則說明為為周末,如果余數為6則說明為周六,就是退步的時間。那我們接著看這個問題:工作日模式要努力到什么水平,才能與每天努力1%一樣?A君: 一年365天,每天進步1%,不停歇B君: 一年365天,每周工作5天休息2天,休息日下降1%,要多努力才能追上A呢?
def dayup(df):#創建函數
dayup =
1.0#設置初始值
for i
in range(365):
if i %
7 in [0,6]:
dayup = dayup*(1 -
0.01)
else:
dayup = dayup*(1 + df)
return dayup
dayfoctor =
0.01
while dayup(dayfoctor) <
37.2:#如果一年的增長值小于A的進步則繼續運行
dayfoctor +=
0.001
print('工作日需要努力:{:.3f}'.format(dayfoctor))
這個代碼借鑒了上一問的代碼,但是為了判斷是否追上了A,所以加入了while語句,用作與判斷,通過while我們可以讓程序自己判斷是否超過了A,如果沒有超過則進步值自增0.001,如果超過A,則跳出程序,結束運行。
看完上述內容,你們對Python中的基本數據類型有哪些呢有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。