是否可以按数值大小的顺序显示一组变量而不诉诸列表? (关于列表大小顺序有很多问题,但没有涉及以这种方式显示变量) 按大小顺序显示变量(数字)
variable1= random.randint(1,999)
variable2= random.randint(1,999)
variable3= random.randint(1,999)
那么,即使我不知道尺寸,按照尺寸顺序打印这些东西是否有效?
是否可以按数值大小的顺序显示一组变量而不诉诸列表? (关于列表大小顺序有很多问题,但没有涉及以这种方式显示变量) 按大小顺序显示变量(数字)
variable1= random.randint(1,999)
variable2= random.randint(1,999)
variable3= random.randint(1,999)
那么,即使我不知道尺寸,按照尺寸顺序打印这些东西是否有效?
你可以if语句使用条件。
可能不是最有效的方式做到这一点,但:
x = 1
y = 2
z = 3
if z > y and z > x:
print z
#and so on
我想你明白我的打算了。这样做可能并不理想,只是想到了什么。
我不认为这是OP正在讨论的大小。这是存储在变量中的数值(如问题中所述)。 – martineau
@martineau重读之后我认为你是对的。我将编辑,因为它现在更容易。 –
是的,通过一系列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)
不,没有任何明显的方法可以按照排序顺序打印某些变量,而不需要使用**列表** – ZdaR
您可以使用一系列嵌套的if语句来执行此操作,但这很快就会失控,针对超过约3个变量。你有什么反对将它们列入清单并整理它? – martineau
所以你想打印一个已排序的数字列表,但你不想先排序数字? – csmckelvey