2015-07-03 97 views
0

下面是我的代碼,這會產生0到101如何將此Python程序的結果從最低值排序到最高值?

import random 

x = int(raw_input("Enter desired number: ")) 

def randoTaker(): 
    print(random.randint(0, 101)) 

randoTaker() 

for i in range(x-1): 
    randoTaker() 

之間的隨機數X實例我的問題:如何從低這些結果高排序?例如:假設我的輸入值爲4的當前輸出爲12,34,5,45。我期望的結果是5,12,34,45。

任何幫助將非常感謝!

+2

https://wiki.python.org/moin/HowTo/Sorting –

+0

你有搜索[python的文檔(https://docs.python.org/2/library/ functions.html#排序)? –

+0

打印未排序後是否要排序? –

回答

4

下面怎麼樣;

import random 

x = int(raw_input("Enter desired number: ")) 

def randoTaker(): 
    return random.randint(0, 101) 

for j in sorted([randoTaker() for i in range(x)]): 
    print j 
+0

正是我在找什麼,謝謝! –

0

問題是,您正在打印結果而不是存儲它們。你可能想將它們保存在一個列表,然後排序列表:

import random 

x = int(raw_input("Enter desired number: ")) 

def randoTaker(): 
    return random.randint(0, 101) 

results = [] 
for i in range(x-1): 
    results.append(randoTaker()) 

results.sort() 

print results 

如果你真的想,你可以使用列表理解:

import random 

x = int(raw_input("Enter desired number: ")) 

def randoTaker(): 
    return random.randint(0, 101) 

print sorted([randoTaker() for i in range(x-1)]) 
0

首先,你只是打印你的功能內的價值。如果您想對生成的隨機數進行排序,您應該考慮返回數字,然後將它們添加到列表中。

將所有數字添加到列表後,可以使用list.sort()函數或sorted()函數對列表進行排序。

例子:

import random 

x = int(raw_input("Enter desired number: ")) 

def randoTaker(): 
    return random.randint(0, 101) 

print(randoTaker()) 

randlst = [] 
for i in range(x-1): 
    randlst.append(randoTaker()) 

randlst.sort() 
print(randlst) 
相關問題