-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdesafio_2.py
More file actions
108 lines (87 loc) · 2.61 KB
/
desafio_2.py
File metadata and controls
108 lines (87 loc) · 2.61 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
"""primeira parte:
criar uma nested list com os nomes dos alunos e suas notas
encontrar a segunda MENOR nota
listar o nome do(s) aluno(s) com a segunda menor nota
e se mais de um aluno listar em ordem alfabética 1 por linha
"""
def second_lowest(notas):
notas.sort()
menor_nota = min(notas)
final = []
for i in range(len(notas)):
if notas[i] > menor_nota:
final.append(notas[i])
return (min(final))
def obtem_alunos(lista,nota):
resposta = []
for i in range(len(lista)):
limpar = lista[i]
if limpar[1] in nota:
resposta.append(limpar[0])
return resposta
data = [5,'Harry',37.21,'Berry',37.21,'Tina',37.2,'Akrit',41,'Harsh',39]
melhor_data = []
notas = []
i = 0
while i <= len(data):
if i < len(data) - 2:
melhor_data.append([data[i+1], data[i+2]])
notas.append([data[i+2]])
i += 2
else:
break
lista_fim = obtem_alunos(melhor_data,second_lowest(notas))
lista_fim = sorted(lista_fim)
print('Nomes:')
for i in lista_fim:
print(i)
"""
Encontrar e exibir a segunda melhor nota da lista
"""
numeros = [10,25,13,15,18,18,18,24]
aux = -100
for i in range(0,len(numeros)):
if numeros[i] > aux:
aux = numeros[i]
numeros.sort()
indice_reverso = -(len(numeros))
for i in range(indice_reverso,0):
if numeros[i] == aux:
numeros.pop(i)
print('Segunda maior nota:',max(numeros))
# nested lists usando três elementos e list comprehension para a criação
permutadas = [[i,j,k] for i in range(3) for j in range(3) for k in range(6)]
print('Nested Lists:',permutadas)
"""ler o conteúdo multilinhas de uma str, separar
texto e valores e processar a média por aluno
"""
incoming_data ="""3
Krishna 67 68 69
Arjun 70 98 63
Malika 52 56 60
Malika"""
# Rangoli patterns
def print_rangoli(size):
source = 'abcdefghijklmnopqrstuvwxyz'
rangoli = []
linha = ''
linhafim = ''
print(((size*2)-2))
# achando a linha meio
for n in range(0,size):
if n == size-1:
linha = linha + source[(size-1)-n]
else:
linha = linha + source[(size-1)-n] + '-'
linhafim = linha + linha[((size*2)-3)::-1]
# subindo
rangoli.append(linhafim)
for n in range(1,size):
linhafim = "--" + linhafim[:(size*2)-3]
linhafim = linhafim + linhafim[(size*2)-3::-1]
rangoli.insert(-(len(rangoli)),linhafim)
rangoli.append(linhafim)
return rangoli
ultima = print_rangoli(15)
for n in ultima:
print(n)