Informática, perguntado por dario9645, 6 meses atrás

Exercício Python 078: Faça um programa que leia 5 valores numéricos e guarde-os em uma lista. No final, mostre qual foi o maior e o menor valor digitado e as suas respectivas posições na lista. ( Meu código não está dizendo a posição do maior, oquê há de errado?
listanum = []
mai = 0
men = 0
for c in range (0, 5):
listanum.append(int(input(f'Insira um valor para posição {c}: ')))
if c == 0:
mai = men = listanum[c]
else:
if listanum[c] > mai:
mai = listanum[c]
if listanum[c] < men:
men = listanum[c]
print(f'Você digitou os valores: {listanum} ')
for i, v in enumerate(listanum):
if v == mai:
print(f'{i}...', end='')
print()
print(f'O menor digitado foi {men} nas posições', end=' ')
for i, v in enumerate(listanum):
if v == men:
print(f'{i}...', end='')
print(f'O maior digitado foi {mai} nas posições', end=' ')
print()


dario9645: Precisa ser em python, estou estudando e este é um dos exercicios

Soluções para a tarefa

Respondido por GeBEfte
4

A tua solução não está incorreta, apenas incompleta.

Note que a linha "print(f'O maior digitado foi {mai} nas posições', end=' ')" está, por algum motivo deslocada. vou deixar o código abaixo pra que fique mais claro.

Obs.: Os pontos que precedem algumas das linhas de programação não fazem parte do programa, foram colocadas apenas para garantir a indentação do código.

Obs2: O código abaixo não foi criado por mim, foi feita apenas a "correção" do programa disponibilizado pelo usuário. Não houve qualquer outra alteração.

[Python 3.8]

listanum = []

mai = 0

men = 0

for c in range (0, 5):

.....listanum.append(int(input(f'Insira um valor para posição {c}: ')))

.....if c == 0:

..........mai = men = listanum[c]

.....else:

..........if listanum[c] > mai:

...............mai = listanum[c]

..........if listanum[c] < men:

...............men = listanum[c]

print(f'Você digitou os valores: {listanum} ')

print(f'O maior digitado foi {mai} nas posições', end=' ')

for i, v in enumerate(listanum):

.....if v == mai:

..........print(f'{i}...', end='')

print()

print(f'O menor digitado foi {men} nas posições', end=' ')

for i, v in enumerate(listanum):

.....if v == men:

..........print(f'{i}...', end='')

\Huge{\begin{array}{c}\Delta \tt{\!\!\!\!\!\!\,\,o}\!\!\!\!\!\!\!\!\:\,\perp\end{array}}Qualquer~d\acute{u}vida,~deixe~ um~coment\acute{a}rio

Perguntas interessantes