python學習(5)

來源:互聯網
上載者:User

標籤:def   元素   練習   練習題   元組   utf-8   result   shuff   shuf   

andom模組
random.random()
返回0到1之間的一個隨機小數

>> random.random()
0.15331915985695865
>> random.random()
0.6973041759495626

>> round(random.random()*100)
13
>> str(random.random())[2:]
‘5091957416488744‘

隨機產生100以內的兩位元

>> int(random.random()*100)
11
random.randint(a,b)
隨機產生a,b之間的一個整數,左右都是閉區間
>> random.randint(1,100)#都是閉區間
10

random.randrange(a,b)
隨機產生a,b之間的一個整數,左開區間,右閉區間

>> random.randrange(1,100)#右邊開區間
2

random.choice(seq)
隨機返回序列中的一個元素值,有傳回值

>> random.choice("abc")#字串
‘a‘
>> random.choice(["a","b","c"])#列表
‘c‘
>> random.choice(("a","b","c"))#元組
‘b‘

>> c = random.choice("abc")
>> c
‘b‘
random.shuffle(list)
打亂列表list的元素順序,只能針對列表,沒有傳回值
>> l = list(range(10))
>> random.shuffle(l)
>> l
[0, 3, 6, 9, 1, 8, 2, 5, 4, 7]
>> random.shuffle(l)
>> l
[8, 3, 7, 6, 4, 9, 0, 2, 5, 1]
random.uniform()
uniform()?方法將隨機產生下一個實數,它在?[x, y)?範圍內。返回一個浮點數,有傳回值

>> random.uniform(1,100)
28.62268392118385
>> f = random.uniform(1,3)
>> f
2.7439797786402718

random.sample(population,n)
在population中隨機選取n個元素,返回一個列表;
population 可以是序列和集合,包含列表、元組、字串和集合

>> import string
>> random.sample(string.ascii_letters,3)#字串
[‘f‘, ‘a‘, ‘X‘]

>> l = list(range(1000))
>> random.sample(l,5)#列表
[776, 22, 715, 798, 982]

>> t = (1,2,3,4,5,6,7,8,9,10)
>> random.sample(t,4)#元組
[3, 9, 2, 4]
>> set1 = set(list(range(1000)))
>> random.sample(set1,10)#集合
[520, 405, 874, 301, 879, 597, 764, 428, 107, 268]

>> result_list = random.sample(set1,10)
>> print(result_list)
[853, 218, 487, 955, 549, 990, 166, 557, 650, 615]

練習題:
1、產生9位元字的密碼
一、

#coding =utf-8import randomnumbers_passwd = ""for i in range(9):    numbers_passwd += str(random.randint(0,9))print(numbers_passwd)

二、

#coding =utf-8import randomnumbers_passwd = ""for i in range(9):    numbers_passwd += "0123456789"[random.randint(0,9)]print(numbers_passwd)

2、產生9位字母的密碼

#coding =utf-8import randomimport stringletters_passwd = ""for i in range(9):    letters_passwd += string.ascii_letters[random.randint(0,52)]print(letters_passwd)

3、產生9位元字和字母的密碼

#coding =utf-8import randomimport stringnumber_letter_passwd = ""for i in range(9):    if random.randint(0,1):#如果是隨機產生的1產生一個字母密碼元素        number_letter_passwd += string.ascii_letters[random.randint(0,52)]    else:#否則產生數字密碼元素        number_letter_passwd += str(random.randint(0,9))print(number_letter_passwd)

sys.exit(1)退出程式
#coding=utf-8
import sys
print(1)
sys.exit(1)
print(2)

浮點數之坑

>> 10-9.9
0.09999999999999964
>> 10100 - 9.9100
10.0
>> (10100 - 9.9100)/100
0.1

練習題:
1、10進位數轉換成2進位

#coding =utf-8def devTobin(num):    result = []    while True:        result.append(str(num%2))        num = num//2        if num ==0:            break    return "".join(result[::-1])print(devTobin(789))

3、二進位轉換為十進位

101 = 1*2^0 + 0*2^1 + 1*2^2 = 5#coding =utf-8def binTodev(binNum):    result = 0    number_length = len(binNum)    for i in range(number_length):        #print("i:",i)        #print(binNum[i])        result += int(binNum[-(i+1)])*pow(2,i)#二進位的數要從右邊開始取,從-1開始    return resultprint(binTodev("1100010101"))

python學習(5)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.