簡體   English   中英

如何將該Python程序的結果從最低到最高排序?

[英]How do I sort the results of this Python program from lowest to highest values?

以下是我的代碼,該代碼生成0到101之間的X個隨機數實例。

import random

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

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

randoTaker()

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

我的問題是:如何將這些結果從低到高排序? 例如:假設我當前輸入值為4的輸出是12、34、5、45。我想要的結果將是5、12、34、45。

任何幫助將不勝感激!

下面怎么樣?

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

問題是您要打印結果而不是存儲結果。 您可能希望將它們保存在列表中,然后對列表進行排序:

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)])

首先,您只是在函數內部打印值。 如果要對生成的隨機數進行排序,則應考慮返回這些數字,然后將其添加到列表中。

將所有數字添加到列表后,即可使用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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM