Страницы

Поиск по вопросам

воскресенье, 29 декабря 2019 г.

Нахождение меньшего числа из трех

#python


Здравствуйте, есть файл с исходными данными:

-1 -2 -3
-4 -5 -6
-7 -8 -9


нужно сравнить числа построчно и найти меньшее:

f=open('input.txt','r')
for i in range(3):
    a,b,c=f.readline().split()
    print(a,' ',b,' ',c)
    if a

Ответ 3



Добавлю к ответу @soon, что основная проблема вашего кода в том, что вы сравниваете строки, а не числа. a, b, c = f.readline().split() print(type(a)) # Таким образом, минимальное, что вам нужно сделать -- это преобразовать строки в числа, для этого используется функция int: a, b, c = f.readline().split() a, b, c = int(a), int(b), int(c) # эту строку достаточно добавить После такого исправления остальная программа работает правильно. Правда, обычно используются более удобные способы преобразования: a, b, c = map(int, f.readline().split()) или a, b, c = (int(value) for value in f.readline().split())

Ответ 4



Чтобы найти в каждой входной строчке самое маленькое целое цисло: #!/usr/bin/env python import io with io.open('input.txt', encoding='utf-8') as file: for line in file: print(min(line.split(), key=int)) Предполагается, что входной файл содержит на каждой строчке целые числа, разделённые пробелами. Это включает в себя числа состоящие из любых десятичных цифр в Юникоде, закодированных используя utf-8 кодировку, например, если input.txt содержит тибетские цифры: ༩ ༥ ༧ ༨ ༣ ༦ ༤ ༠ ༡ то на выходе будет: ༥ ༣ ༠ Если при чтении использовать min(map(int, line.split())), то результат: 5 3 0 В обоих случаях числа из файла сравниваются как числа.

Комментариев нет:

Отправить комментарий