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循环中的值存储在列表中。
提前致谢!
答案 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)