2017-03-16 22 views
-2

是否可以按數值大小的順序顯示一組變量而不訴諸列表? (關於列表大小順序有很多問題,但沒有涉及以這種方式顯示變量) 按大小順序顯示變量(數字)

variable1= random.randint(1,999) 
variable2= random.randint(1,999) 
variable3= random.randint(1,999) 

那麼,即使我不知道尺寸,按照尺寸順序打印這些東西是否有效?

+1

不,沒有任何明顯的方法可以按照排序順序打印某些變量,而不需要使用**列表** – ZdaR

+0

您可以使用一系列嵌套的if語句來執行此操作,但這很快就會失控,針對超過約3個變量。你有什麼反對將它們列入清單並整理它? – martineau

+0

所以你想打印一個已排序的數字列表,但你不想先排序數字? – csmckelvey

回答

1

你可以if語句使用條件。

可能不是最有效的方式做到這一點,但:

x = 1 
y = 2 
z = 3 
if z > y and z > x: 
    print z 
#and so on 

我想你明白我的打算了。這樣做可能並不理想,只是想到了什麼。

+0

我不認爲這是OP正在討論的大小。這是存儲在變量中的數值(如問題中所述)。 – martineau

+1

@martineau重讀之後我認爲你是對的。我將編輯,因爲它現在更容易。 –

3

是的,通過一系列if ... elif語句,每次添加值/變量時複雜度都會增加。

爲什麼你不想使用列表?這會更簡單。

如果需要真想使用變量,那麼如何對這種做法:

import random 

variable1 = random.randint(1,999) 
variable2 = random.randint(1,999) 
variable3 = random.randint(1,999) 

var_name_list = [] 
var_name_list.append('variable1') 
var_name_list.append('variable2') 
var_name_list.append('variable3') 

for value in sorted([ eval(var_name) for var_name in var_name_list ]): 
    print(value) 
+0

我看到是否有比使用清單更容易的方法 – Someone

+0

有沒有..我看不到有可能! – Attie

+0

我不確定,但後來我不知道所有的東西,所以我決定檢查(因爲這樣的事情不存在),我找不到任何文件反駁或證明它 – Someone