Python 如何在三个值中找到最小值
我有一个记事本文件,有三行,这些是记事本的值,每行也有三个值:Python 如何在三个值中找到最小值,python,python-3.x,Python,Python 3.x,我有一个记事本文件,有三行,这些是记事本的值,每行也有三个值: M,2.0,0.6 F,10,0 W,1.0,1.0 首先,我们需要一个基于逗号分割的for循环,然后我们需要提示用户输入一个数字,例如,在每一行中,数字应该乘以i[2],然后加上i[1],在这种情况下,我已经编写了代码,但我无法打印其中的最小数字,例如输入7,每行值分别为6.2、10.0和8.0,因此我们应该根据记事本的第一行得到最小值6.2,但我将得到记事本值最后一行的8.0 x = open ("sample.txt") d
M,2.0,0.6
F,10,0
W,1.0,1.0
首先,我们需要一个基于逗号分割的for循环,然后我们需要提示用户输入一个数字,例如,在每一行中,数字应该乘以i[2],然后加上i[1],在这种情况下,我已经编写了代码,但我无法打印其中的最小数字,例如输入7,每行值分别为6.2、10.0和8.0,因此我们应该根据记事本的第一行得到最小值6.2,但我将得到记事本值最后一行的8.0
x = open ("sample.txt")
dis = input("Enter distance in Kilometer: ")
def sumof(x,y,z):
return float(x[1]) + float (dis) * float(y[2])
mini = 0
for i in x:
i = i.rstrip()
i = i.split(",")
i = sumof(i,i,i)
mini = i
if i < mini:
mini = i
print (mini)
x=open(“sample.txt”)
dis=输入(“以公里为单位输入距离:”)
def sumof(x,y,z):
返回浮点数(x[1])+浮点数(dis)*浮点数(y[2])
mini=0
对于x中的i:
i=i.rstrip()
i=i.split(“,”)
i=sumof(i,i,i)
mini=i
如果我<迷你:
mini=i
打印(迷你版)
请注意:Python已经有了min()
来获取列表中的最低值我的建议:
x = open ("sample.txt")
dis = input("Enter distance in Kilometer: ")
def sumOf(x, y):
return float(x) + float (dis) * float(y)
a = {}
for i in range(0, 3):
i = x.readline()
i = i.strip()
i = i.split(",")
a[i[0]] = sumOf(i[1], i[2])
print(min(a) + ": " + str(a[min(a)]))
对我来说,这终于奏效了。这里:
mini=i;如果i
iif
语句之前设置了mini=i
,所以i
将完全等于mini
。但是将此条件更改为为什么您要将此条件更改为。因此,在这种情况下,当我们输入7作为输入时,它有3个基于3行记事本的值,那么我们如何比较这三个值并获得其中的最小值?谢谢,但id不起作用,因为sum有三个参数,它显示了一个错误是的,非常感谢,它也为我工作,现在我们如何在min旁边打印i[0]?正如您所知,i[0]是记事本中每一行的标签。我们可以使用字典。您能告诉我如何使用吗?对于最新的更改,它不起作用,并且表示的错误必须是str not float