2015-09-09 54 views
-2

我需要=長,生成隨機變量的類型,所以它應該是這樣的:X = 0xabcdef1234567890產生蟒蛇隨機的長或轉換STR長

編輯:

>>> x='0xa123456789abcdef' 
>>> type(x) 
<type 'str'> 
>>> long(x, 16) 
11611200575284956655L   
>>> x=0xa123456789abcdef  
>>> type(x) 
<type 'long'> 
+0

(用'0X前綴表示...')你正在尋找一個十六進制數:https://en.wikipedia.org/wi ki /十六進制 –

+0

[在Python中將十六進制字符串轉換爲int]可能的副本(http://stackoverflow.com/questions/209513/convert-hex-string-to-int-in-python) –

+0

'x = 0xabcdef1234567890' is創建一個很長的...字符串與任何東西有什麼關係... –

回答

0
x = 0xabcdef1234567890 
type(x) #long 
x = 51924361L 
type(x) #long 
x = 0xDEFABCECBDAECBFBAEl 
type(x) #long 
x = -4721885298529L 
type(x) #long 

x = long(1) 
type(x) #long 


def generate_random_long(): 
    import random 
    return long(random.choice(range(0,10000000))) 

def generate_random_long_from_string(): 
    import random 
    return long('0x'+''.join(random.choice('abcdef') for n in xrange(12)),16) 
+0

如何隨機獲取值(例如:x = 0xabcdef1234567890)? – bay

+0

注意''long()'在python3中不再存在。改用'int()'。 –

0

如果什麼你正在尋找的是一個64位的隨機數:

import os 
l=0 
for c in os.urandom(8): 
    l = (l*256) + ord(c) 
print hex(l) 
+0

類型(十六進制(l))將返回str – bay

+0

l是長變量。你問了十六進制格式。 – stark