Ввод разных городов с их населением, а затем печать максимального и минимального населения с соответствующими городами

Мне нужно ввести несколько городов и их население, а также вывести максимальное и минимальное население с названием города.

Я понял, как получить максимум и распечатать его вместе со своей страной, но я не знаю, как получить минимум.

n =int(input("Enter the number of municipalities "))

for i in range(n):

    city = input("Enter the municipality: ")
    population = float(input("Enter the population: "))
    #processing information to calculate sum and max, min and range
    sum += population

    if max < population:
        max = population
        maxcity = city

print("The municipality with the highest population of", max, "million was " + maxcity)

Мне нужен тот же результат для минимума, что и для максимума. Что я могу добавить в цикл if, чтобы это произошло? Мне не разрешено использовать встроенные функции max(), min()!

Возможно, вы захотите сначала инициализировать свои значения (т.е. перед циклом). Например. min = sysmaxint и max = - (sys.maxint - 1) или аналогичные. В основном вам нужно установить начальные значения в крайние значения, чтобы они соответственно запускали ваши операторы if. В качестве альтернативы вы можете инициализировать их первым значением в вашем списке.

GMc 29.05.2019 09:47

О, если вы используете Python 3, я думаю, что это max = sys.maxsize и min = -sys.maxsize.

GMc 29.05.2019 10:21
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
2
133
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Использовать этот:

max_value = 0
max_city = ''
min_value = 10**20
min_city = ''
for i in range(n):

    city = input("Enter the municipality: ")
    population = float(input("Enter the population: "))

    if max_value < population:
        max_value = population
        max_city = city

    if min_value > population:
        min_value = population
        min_city = city

print("The municipality with the highest population of", max_value, "million was " + max_city)
print("The municipality with the lowest population of", min_value, "million was " + min_city)

Выход:

Enter the municipality: f
Enter the population: 10
Enter the municipality: g
Enter the population: 15
Enter the municipality: h
Enter the population: 80

The municipality with the highest population of 80.0 million was h
The municipality with the lowest population of 10.0 million was f

Также следует инициализировать min чем-то вроде MAXINT и max в -1.

Art 29.05.2019 09:41

И вы должны использовать другие имена, кроме max и min, потому что вы перезаписываете встроенные функции с тем же именем (max, min)

Matthias 29.05.2019 09:44
import sys

INT_max_population = sys.maxsize  
INT_MIN = -sys.maxsize-1

max_city = ''
min_city =''

max_population = INT_MIN
min_population = INT_max_population

n =int(input("Enter the number of municipalities "))

for i in range(n):
    city = input("Enter the municipality: ")
    population = float(input("Enter the population: "))

    if max_population < population:
        max_population = population
        max_city = city

    if min_population>population:
        min_population = population
        min_city = city

print("The municipality with the highest population of {} million was {} ".format(max_population, max_city))
print("The municipality with the lowest population of {}  million was {} ".format(min_population, min_city))        

выход

Enter the number of municipalities 3

Enter the municipality: a

Enter the population: 1

Enter the municipality: b

Enter the population: 2

Enter the municipality: c

Enter the population: 3
The municipality with the highest population of 3.0 million was c 
The municipality with the lowest population of 1.0  million was a 

Другие вопросы по теме