我怎么知道python中while循环中最大的数字是什么?

时间:2016-04-17 23:22:41

标签: python list while-loop

到目前为止,我所做的就是:

from random import randint    
def num_random():
    counter = 0
    while (counter <= 99):
       counter=counter+1
       base=randint(1,100)
       height=randint(1,100)
       area = base*height/2 
       data(area)

def data(area):
    print("area=",area)

num_random()

但我想确定哪个三角形的面积最大。

我可以将每个区域的值存储在列表中,然后使用max(list),这样我就知道最大的是什么。问题是我不确定如何将while循环中的值存储在列表中。

提前致谢!

3 个答案:

答案 0 :(得分:1)

你可以简单地做

px

或者如果你想让它更清晰一点,

max(randint(1,100)*randint(1,100)/2 for i in range(100))

答案 1 :(得分:0)

以下是我将如何编写原始代码,以及列表格式:

from random import randint  
def num_random():
    base = []
    height = []
    area = []
    for i in range(99):    #Use For Loop rather than while loop with counter
       base.append(randint(1,100))        #Add value to "base" list
       height.append(randint(1,100))      #Add value to "height" list
       area.append(base[i]*height[i]/2)           #Calculate Area h*b/2
       print("Area = {}".format(area))     #Print Area Value to Terminal
    print("Max Area = {}".format(max(area))
num_random()  #call the function

此外,现在您可以使用索引i从创建的列表中提取索引值。

答案 2 :(得分:0)

你是对的,只需将area附加到列表中,然后调用max函数:

from random import randint    
def num_random():
    counter = 0
    areas = []
    while (counter <= 99):
       counter=counter+1
       base=randint(1,100)
       height=randint(1,100)
       area = base*height/2 
       areas.append(area)
    data(max(areas))

def data(area):
    print("area=",area)

num_random()
>>> num_random()
('area=', 4140)
>>> num_random()
('area=', 4464)