Форум сайта python.su
Разработать функцию saddle_point(matrix), которая принимает 1 аргумент – прямоугольную матрицу целых чисел, заданную в виде списка списков, и возвращает тьюпл с координатами “точки седла” переданной матрицы или логическую константу False, если такой точки не существует.
Вот код:
def saddle_point(matrix): count, last=0,0 for i in matrix: if i.count(min(i)) == 1: m=i.index(min(i)) col=[] for j in matrix: col.append(j[m]) if col.count(max(col)) == 1 and min(i) == max(col): result=(str(m), str(col.index(max(col)))) count+=1 if count > last: last=count print (', '.join(result)) if count == 0: print ('False')
Отредактировано Xryst (Март 7, 2015 23:22:30)
Офлайн
def saddle_point(matrix): count, last=0,0 for i in matrix: if i.count(min(i)) == 1: m=i.index(min(i)) col=[] for j in matrix: col.append(j[m]) if col.count(max(col)) == 1 and min(i) == max(col): result=(str(m), str(col.index(max(col)))) count+=1 if count > last: last=count return ', '.join(result) if count == 0: return 'False'
Отредактировано terabayt (Март 7, 2015 23:31:00)
Офлайн
XrystНе подскажешь, как перевесть ‘,’ в int
return ‘, ’.join(result)
if count == 0:
return ‘False’
Офлайн
Xrystа зачем переводить ее в строку чтобы потом перевести ее в инт?
Не подскажешь, как перевесть ‘,’ в int
result=(str(m), str(col.index(max(col))))
def saddle_point(matrix): count, last=0,0 for i in matrix: if i.count(min(i)) == 1: m=i.index(min(i)) col=[] for j in matrix: col.append(j[m]) if col.count(max(col)) == 1 and min(i) == max(col): result=(m, col.index(max(col))) count+=1 if count > last: last=count return result if count == 0: return 'False'
Офлайн
terabaytПеревол потому как не знал как вывесть в таком формате 0,0
а зачем переводить ее в строку чтобы потом перевести ее в инт?
resultstr(m), str(col.index(max(col))))
Отредактировано Xryst (Март 8, 2015 00:53:29)
Офлайн