-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathexercicios.py
1114 lines (666 loc) · 35.8 KB
/
exercicios.py
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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
## EXERCÍCIOS
## **int (Números Inteiros)**
"""
#1. Crie um programa que solicite ao usuário sua idade e a idade de seu melhor amigo. Em seguida, calcule e exiba a
# soma das idades.
idade1 = int(input("Digite a sua idade: "))
idade2 = int(input("Digite a idade do seu amigo: "))
def soma_idade(idade1, idade2):
return f"A soma das idades é: {idade1 + idade2}"
print(soma_idade(idade1, idade2))
#2. Desenvolva um script que peça ao usuário para inserir um número inteiro e, em seguida, determine se o número é par
#ou ímpar.
numero = int(input("Digite um número inteiro: "))
def par_ou_impar(numero):
if numero % 2 == 0:
resp = "O número é par!"
else:
resp = "O número é impar!"
return resp
print(par_ou_impar(numero))
## **float (Números de Ponto Flutuante)**
#1. Escreva um programa que solicite ao usuário sua altura em metros e seu peso em quilogramas. Calcule e exiba o IMC
#(Índice de Massa Corporal) com duas casas decimais.
altura = float(input("Qual a sua altura? (digite em metros, ex: 1.70)"))
peso = float(input("Qual o seu peso? (digite em Kg, ex: 85.40)"))
def imc(altura, peso):
return f"Seu IMC é {peso / (altura * 2):.2f}"
print(imc(altura, peso))
#2. Crie um script que peça ao usuário para inserir o raio de um círculo. Calcule e exiba a área do círculo com três
#casas decimais. (Use pi = 3.14159)
raio = float(input("Digite o raio de um círculo: "))
pi = 3.14159
def areaCirculo(raio):
return f"A área do círculo é {(pi * raio**2):.3f}"
print(areaCirculo(raio))
## **Divisão Inteira**
#1. Faça um programa que solicite ao usuário um número de minutos e converta para horas e minutos. Por exemplo,
#145 minutos deve ser exibido como 2 horas e 25 minutos.
minutos = int(input("Digite o número de minutos: "))
def minutosEmHoras(minutos):
horas = minutos // 60
minutosRestantes = minutos % 60
return f"{minutos} minutos é igual a {horas} horas e {minutosRestantes} minutos."
print(minutosEmHoras(minutos))
#2. Crie um script que peça ao usuário um número de dias e converta para semanas e dias. Por exemplo, 17 dias deve ser
#exibido como 2 semanas e 3 dias.
dias = int(input("Digite um número de dias: "))
def semanas(dias):
semanasInteiras = dias // 7
semanasIncompletas = dias % 7
return f"{semanasInteiras} semana(s) e {semanasIncompletas} dia(s)"
print(semanas(dias))
## **and (E lógico)**
#1. Desenvolva um programa que peça ao usuário sua idade e se possui carteira de motorista (responda com "sim" ou
#"não"). O programa deve determinar se a pessoa pode dirigir (idade maior ou igual a 18 e possui carteira).
idade = int(input("Digite sua idade: "))
carteira = input("Possui carteira de motorista? (sim ou não)\n")
def permissao(idade, carteira):
if idade > 18 and carteira == "sim":
return "Você pode dirigir"
if idade < 18 and carteira == "sim":
return "Você não pode dirigir, sua habilitação é falsa"
else:
return "Você não pode dirigir"
print(permissao(idade, carteira))
#2. Crie um script que solicite ao usuário um número e verifique se ele está entre 0 e 100 (inclusive). O inclusive
# quer dizer que o 0 e o 100 também fazem parte da verificaçãoUse o operador**`and`**na sua condição.
numero = int(input("Digite um número: "))
def pertence(numero):
if numero >= 0 and numero <= 100:
return "Pertence"
else:
return "Não pertence"
print(pertence(numero))
## **or (OU lógico)**
#1. Escreva um programa que peça ao usuário para inserir um caractere e determine se é uma vogal (a, e, i, o, u,
#considerando maiúsculas e minúsculas).
caractere = input("Digite um caractere: ")
vogalMin = ["a","e", "i", "o", "u"]
vogamMai = ["A","E","I","O", "U"]
def vogal(caractere):
if caractere in vogalMin or caractere in vogamMai:
return f"A letra {caractere} é uma Vogal"
else:
return f"A letra {caractere} não é uma vogal"
print(vogal(caractere))
#2. Faça um script que solicite ao usuário um número e verifique se ele é menor que 0 ou maior que 100. Use o
#operador**`or`**na sua condição.
numero = int(input("Digite um número: "))
def verificar(numero):
if numero < 0 or numero > 100:
return "Número não está entre 0 e 100"
else:
return "Número está entre 0 e 100"
print(verificar(numero))
## **if, elif, else**
#1. Crie um programa que peça ao usuário para inserir sua nota (de 0 a 100) e exiba o conceito correspondente:
# - A: 90-100
# - B: 80-89
# - C: 70-79
# - D: 60-69
# - F: abaixo de 60
nota = int(input("Insira sua nota: (de 0 a 100)\n"))
def result(nota):
if nota < 0 or nota > 100:
resp = "Digite uma Nota válida"
elif nota < 60:
resp = "Você tirou F"
elif nota < 70:
resp = "Você tirou D"
elif nota < 80:
resp = "Você tirou C"
elif nota < 90:
resp = "Você tirou B"
elif nota >= 90:
resp = "Você tirou A"
else:
resp = "Isso não é uma Nota"
return resp
print(result(nota))
#2. Desenvolva um script que solicite ao usuário um número de 1 a 7 e exiba o dia da semana correspondente (1 para
#Domingo, 2 para Segunda, etc.). Se o número for inválido, exiba uma mensagem de erro.
numero = int(input("Digite um número de 1 a 7: "))
def diaDaSemana(numero):
if numero == 1:
resp = "Domingo"
elif numero == 1:
resp = "Segunda"
elif numero == 1:
resp = "Terça"
elif numero == 1:
resp = "Quarta"
elif numero == 1:
resp = "Quinta"
elif numero == 1:
resp = "Sexta"
elif numero == 1:
resp = "Sabádo"
else:
resp = "Dia da semana inválido"
return resp
print(diaDaSemana(numero))
## **cont += (Incremento)**
#1. Escreva um programa que conte de 1 a 10, exibindo cada número. Use um loop**`while`**e a operação**`cont += 1`**.
def contagem():
n = 1
while n <= 10:
print(n)
n += 1
contagem()
#2. Faça um script que solicite ao usuário um número e, em seguida, some todos os números de 1 até esse número (
#inclusive). Use um loop**`while`**e a operação**`cont += 1`**.
numero = int(input("Digite um número: "))
def soma(numero):
resultado = 0
contagem = 0
while contagem < numero:
contagem += 1
resultado += contagem
print (resultado)
soma(numero)
## **while (Loop While)**
#1. Crie um programa que gere um número aleatório entre 1 e 100 e peça ao usuário para adivinhar. O programa deve
#informar se o palpite está alto ou baixo, até que o usuário acerte. Conte o número de tentativas.
#importe a biblioteca random. Para isso abra o terminal (esotu usando pycharm) e digite o código:
# pip install numpy
import random
#usando a biblioteca random
numeroAleatorio = random.randint(1, 100)
def jogo ():
tentativas = 0
while True:
numeroUser = int(input("Digite um número: "))
tentativas += 1
if numeroUser < numeroAleatorio:
print("Seu palpite está baixo")
elif numeroUser > numeroAleatorio:
print("palpite está alto")
elif numeroUser == numeroAleatorio and tentativas == 1:
print("Você é muito sortudo, acertou de primeira. Parabéns")
break
else:
print(f"Parabéns, você acertou em {tentativas} tentativas")
break
jogo()
#2. Desenvolva um script que solicite ao usuário para inserir números positivos. O programa deve continuar pedindo
#números até que o usuário insira um número negativo. No final, exiba a soma de todos os números positivos inseridos.
def game ():
result = []
while True:
numeroUser = int(input("Digite um número positivo: "))
if numeroUser < 0:
break
result.append(numeroUser)
soma = sum(result)
print(f"A soma dos números positivos é: {soma}")
game()
## **Lista (a partir, entre)**
#1. Crie uma lista com os números de 1 a 20. Em seguida, exiba os números que estão entre o índice 5 e o índice 10 (
#inclusive).
numeros = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
print(numeros[5:10])
#2. Peça ao usuário para inserir uma lista de números separados por vírgula. Depois, exiba apenas os números a partir
#do terceiro elemento até o final da lista.
user = input("Digite uma lista de números separados por virgula: ")
print(user[2:])
## **list**
#1. Crie uma lista vazia e peça ao usuário para inserir 5 nomes. Depois, exiba todos os nomes inseridos.
nomes = []
nomes = input("Digite 5 nomes separado por vírgula: ")
print(nomes)
#2. Faça um programa que crie uma lista com os números pares entre 1 e 50 e exiba essa lista.
lista =[]
def listaPar():
for i in range(1, 51):
if i % 2 == 0:
lista.append(i)
print(lista)
listaPar()
## **.remove()**
#1. Crie uma lista com os seguintes itens:**`["maçã", "banana", "laranja", "uva"]`**. Peça ao usuário para informar
#uma fruta que deseja remover da lista e remova-a usando**`.remove()`**. Se a fruta não estiver na lista,
#exiba uma mensagem de erro.
frutas = ["maçã", "banana", "laranja", "uva"]
print(frutas)
user = input("Qual fruta da lista acima deseja remover? ")
def remover():
if user in frutas:
frutas.remove(user)
else:
print("Esse item não está na lista")
print(frutas)
remover()
#2. Peça ao usuário para inserir uma lista de números separados por vírgula. Depois, solicite um número para ser
#removido da lista e remova-o usando**`.remove()`**.
lista = []
def remover():
lista = input("Digite uma lista de números separado por vírgula: ")
lista = [int(num) for num in lista.split(",")]
print(lista)
numeroARemover = int(input("Digite um número para ser removido da lista: "))
if numeroARemover in lista:
lista.remove(numeroARemover)
print(lista)
remover()
## **.pop()**
#1. Crie uma lista com os seguintes números**`[10, 20, 30, 40, 50]`**. Use**`.pop()`**para remover o último número
#da lista e exiba o número removido e a lista atualizada.
lista = [10, 20, 30, 40, 50]
print(lista)
print(lista.pop())
print(lista)
#2. Peça ao usuário para inserir uma lista de palavras separadas por vírgula. Depois, remova a última palavra da lista
#usando**`.pop()`**e exiba a palavra removida.
lista = input("Digite uma lista de palvras separadas por vírgula: ")
lista = lista.split(",")
print(lista)
print(lista.pop())
## **.sort()**
#1. Crie uma lista com os seguintes números:**`[5, 3, 8, 1, 9]`**. Use**`.sort()`**para ordenar a lista em ordem
#crescente e exiba o resultado.
lista = [5, 3, 8, 1, 9]
lista.sort()
print(lista)
#2. Peça ao usuário para inserir uma lista de nomes separados por vírgula. Ordene a lista em ordem alfabética
#usando**`.sort()`**e exiba o resultado.
# Solicitar a entrada do usuário (uma lista de nomes separados por vírgula)
lista = input("Digite uma lista de nomes separados por vírgula: ")
# Converter a string em uma lista de nomes
lista = [nome.strip() for nome in lista.split(",")] # Divide a string em uma lista de substrings, e remove espaços
# vazios antes e depois com o strip
# Exibir a lista original
print("Lista original:", lista)
# Ordenar a lista em ordem alfabética
lista.sort()
# Exibir a lista ordenada
print("Lista ordenada:", lista)
## **Inverter itens da lista**
#1. Crie uma lista com os seguintes números:**`[1, 2, 3, 4, 5]`**. Inverta a ordem dos itens na lista (usando**`[
#::-1]`**ou**`.reverse()`**) e exiba o resultado.
lista = [1, 2, 3, 4, 5]
listaInversa = lista[::-1] #inverte a lista, mas não modifica a original, e trás a mudança
print(lista)
print(listaInversa)
print(lista)
lista.reverse() #inverte a lista modificando a original, mas não traz a mudança
print(lista)
#2. Peça ao usuário para inserir uma frase e transforme-a em uma lista de palavras (usando**`.split()`**). Inverta a
#ordem das palavras na frase e exiba o resultado.
frase = input("Insira uma frase: ")
frase = [nome.strip() for nome in frase.split()] #tiramos os espaços com strip, e as "," com split
print(frase)
frase.reverse()
print(frase)
## **max**
#1. Crie uma lista com os seguintes números:**`[10, 20, 30, 40, 50]`**. Use**`max()`**para encontrar o maior número
#na lista e exiba-o.
lista = [10, 20, 30, 40, 50]
print(max(lista))
print(lista)
#2. Peça ao usuário para inserir uma lista de números separados por vírgula. Encontre e exiba o maior número da lista
#usando**`max()`**.
lista = input("Insira uma lista de números separados por vírgula: ")
print(max(lista))
## **min**
#1. Crie uma lista com os seguintes números:**`[15, 7, 22, 3, 9]`**. Use**`min()`**para encontrar o menor número na
#lista e exiba-o.
lista = [15, 7, 22, 3, 9]
print(min(lista))
#2. Peça ao usuário para inserir uma série de números separados por vírgula. Encontre e exiba o menor número da lista
#usando**`min()`**.
lista = input("Digite uma série de núemros separados por vírgula: ")
lista = lista.split(",")
print(min(lista))
## **index**
#1. Crie uma lista com os seguintes itens:**`["gato", "cachorro", "pássaro", "peixe"]`**. Use**`.index()`**para
#encontrar a posição do item**`"pássaro"`**na lista e exiba-a.
animais = ["gato", "cachorro", "pássaro", "peixe"]
print(animais.index("pássaro"))
#2. Peça ao usuário para inserir uma palavra e verifique se ela está presente na seguinte lista:**`["maçã", "banana",
#"laranja", "uva"]`**. Caso esteja presente, exiba sua posição usando**`.index()`**; caso contrário, informe que a
#palavra não está na lista.
frutas = ["maçã", "banana","laranja", "uva"]
palavra = input("Digite uma fruta: ")
def existe():
if palavra in frutas:
print(f"A posição da {palavra} é Index {frutas.index(palavra)}")
else:
print("Essa palavra não pertence a lista de Frutas")
existe()
## **len**
#1. Crie uma lista com os seguintes itens:**`[10, 20, 30, 40]`**. Use**`len()`**para contar quantos itens existem
#na lista e exiba esse valor.
lista = [10, 20, 30, 40]
print(len(lista))
#2. Peça ao usuário para inserir um texto qualquer e conte quantas palavras existem no texto (usando`.split()` e
# `len()`**).
lista = input("Digite um texto: ")
palavras = lista.split()
print(palavras)
print(len(palavras))
"""
## **sum**
1. Crie uma lista com os seguintes números:**`[5, 10, 15, 20]`**. Use**`sum()`**para calcular a soma de todos os
números na lista e exiba o resultado.
"""
2. Peça ao usuário para inserir uma série de números separados por vírgula. Converta-os em uma lista de inteiros ou
floats e calcule a soma total usando **`sum()`**.
## **sorted**
1. Crie uma lista de palavras e use **`sorted()`** para ordená-las alfabeticamente. Em seguida, ordene-as por tamanho.
2. Dada uma lista de dicionários representando pessoas (com nome e idade), use **`sorted()`** para ordená-las
primeiro por idade e depois por nome.
## **for in**
1. Crie uma lista de números e use um loop **`for`** para calcular a soma de todos os números pares.
2. Dada uma string, use um loop **`for`** para contar quantas vogais ela contém.
## **zip**
1. Crie duas listas, uma com nomes e outra com idades. Use **`zip()`** para criar uma lista de tuplas (nome, idade).
2. Dadas três listas representando coordenadas x, y e z, use **`zip()`** para criar uma lista de pontos 3D.
## **compreensão de listas**
1. Use uma compreensão de lista para criar uma lista com os quadrados dos números de 1 a 10.
2. Dada uma string, use uma compreensão de lista para criar uma lista contendo apenas as palavras com mais de 3 letras.
## **range()**
1. Use **`range()`** para criar uma lista com os números ímpares de 1 a 20.
2. Crie um programa que use **`range()`** para imprimir uma contagem regressiva de 10 a 1.
## **for i in range ou for _ in range**
1. Use **`for i in range()`** para imprimir uma tabela de multiplicação de 1 a 10.
2. Implemente um programa que use **`for _ in range()`** para simular o lançamento de um dado 100 vezes e conte
quantas vezes cada número aparece.
## **.replace**
1. Peça ao usuário para inserir uma frase e substitua todas as ocorrências de "python" por "Python"
usando **`.replace()`**.
2. Crie um programa que substitua todos os espaços em uma string por underscores usando **`.replace()`**.
## **.center**
1. Crie um programa que peça ao usuário para inserir uma palavra e a exiba centralizada em uma linha de 30 caracteres
usando **`.center()`**.
2. Implemente uma função que receba uma lista de palavras e as exiba em formato de coluna, todas centralizadas em uma
largura de 20 caracteres.
## **.upper**
1. Peça ao usuário para inserir uma frase e converta todas as palavras que começam com a letra "a" para maiúsculas.
2. Crie um programa que converta todas as consoantes de uma string para maiúsculas, mantendo as vogais em minúsculas.
## **.lower**
1. Implemente um programa que converta uma string para snake_case (todas as letras minúsculas e espaços substituídos
por underscores).
2. Crie uma função que normalize endereços de email, convertendo todos os caracteres para minúsculas.
## **.title**
1. Peça ao usuário para inserir o nome completo de uma pessoa e use **`.title()`** para formatá-lo corretamente.
2. Crie um programa que converta títulos de livros para o formato adequado usando **`.title()`**, mas mantenha
palavras como "de", "da", "do" em minúsculas.
## **.capitalize**
1. Implemente uma função que receba uma lista de frases e use **`.capitalize()`** para formatar cada frase corretamente.
2. Crie um programa que peça ao usuário para inserir várias sentenças e use **`.capitalize()`** para garantir que
cada sentença comece com letra maiúscula.
## **.split()**
1. Crie um programa que peça ao usuário para inserir uma frase e use **`.split()`** para contar quantas palavras ela
contém.
2. Implemente uma função que receba uma string contendo uma data no formato "dd/mm/aaaa" e use **`.split('/')`** para
extrair o dia, mês e ano separadamente.
## **.strip()**
1. Peça ao usuário para inserir seu nome completo com espaços extras no início e no fim. Use **`.strip()`** para
remover esses espaços e exiba o nome "limpo".
2. Crie um programa que leia um arquivo de texto onde cada linha contém um item de uma lista de compras (com
possíveis espaços extras). Use **`.strip()`** para limpar cada item antes de adicioná-lo a uma lista.
## **isdigit()**
1. Implemente uma função que verifique se uma string representa um número de telefone válido (apenas dígitos).
Use **`isdigit()`** para validar cada caractere.
2. Crie um programa que peça ao usuário para inserir uma senha. Use **`isdigit()`** para garantir que a senha
contenha pelo menos um dígito.
## **isalpha()**
1. Desenvolva um jogo da forca onde o programa verifica se a letra inserida pelo usuário é realmente uma letra do
alfabeto usando **`isalpha()`**.
2. Crie uma função que receba um nome completo e verifique se ele contém apenas letras e espaços (use **`isalpha(
)`** em combinação com **`split()`**).
## **isalnum()**
1. Implemente um validador de nomes de usuário que permita apenas caracteres alfanuméricos. Use **`isalnum()`** para
verificar cada caractere.
2. Crie um programa que verifique se uma placa de carro é válida (formato ABC1234 ou ABC-1234), usando **`isalnum(
)`** para verificar os caracteres apropriados.
## **isspace()**
1. Desenvolva uma função que remova todas as linhas em branco de um texto. Use **`isspace()`** para identificar
linhas que contêm apenas espaços em branco.
2. Crie um programa que analise um código-fonte e conte o número de linhas não vazias (excluindo linhas que são
apenas espaços em branco usando **`isspace()`**).
## **.format()**
1. Crie um programa que solicite ao usuário seu nome, idade e cidade, e use **`.format()`** para criar uma frase de
apresentação.
2. Implemente uma função que formate um número de telefone usando **`.format()`**. Por exemplo, transforme
"1234567890" em "(123) 456-7890".
## **f-strings**
1. Peça ao usuário para inserir o raio de um círculo e use f-strings para exibir a área e o perímetro com duas casas
decimais.
2. Crie um programa que gere um recibo simples. Use f-strings para formatar os itens, preços e o total,
alinhando corretamente os valores.
### **Exercícios de Funções com Uso de `raise` para Tratamento de Erros**
---
### **Exercício 1: Validação de Idade**
Crie uma função chamada `validar_idade` que recebe a idade de uma pessoa como argumento.
- Se a idade for menor que 0, lance uma exceção usando `raise` com a mensagem: `"Idade não pode ser negativa."`
- Caso contrário, retorne uma mensagem: `"Idade válida: <idade>"`
---
### **Exercício 2: Divisão com Validação**
Implemente uma função chamada `dividir` que receba dois números, `numerador` e `denominador`.
- Caso o denominador seja 0, lance uma exceção usando `raise` com a mensagem: `"Erro: Divisão por zero não é
permitida."`
- Caso contrário, retorne o resultado da divisão.
---
### **Exercício 3: Cadastro de Nome**
Crie uma função chamada `cadastrar_nome` que recebe uma string como entrada e verifica:
- Se a string estiver vazia ou contiver apenas espaços, lance uma exceção com a mensagem: `"Nome não pode estar vazio."`
- Caso contrário, retorne o nome formatado em título (com a primeira letra maiúscula em cada palavra).
---
### **Exercício 4: Validação de Número Inteiro Positivo**
Implemente uma função chamada `validar_numero_positivo` que receba um número como argumento.
- Caso o número não seja inteiro, lance uma exceção com a mensagem: `"O valor deve ser um número inteiro."`
- Se for menor ou igual a zero, lance uma exceção com a mensagem: `"O número deve ser positivo."`
- Caso contrário, retorne o número.
---
### **Exercício 5: Validação de Nota Escolar**
Crie uma função chamada `validar_nota` que recebe uma nota como argumento (float).
- Caso a nota seja menor que 0 ou maior que 10, lance uma exceção com a mensagem: `"Nota inválida. Deve estar entre 0
e 10."`
- Caso contrário, retorne a nota formatada com uma casa decimal.
### **1️⃣ Tuplas**
📌 **Conceito**: Tuplas são **estruturas imutáveis** em Python que armazenam múltiplos valores em uma sequência
ordenada.
### 🔹 **Exercícios**
1️⃣ **Crie uma tupla chamada `dados_pessoais` contendo seu nome, idade e cidade natal. Em seguida, imprima cada valor
individualmente.**
2️⃣ **Dada a tupla `numeros = (10, 20, 30, 40, 50)`, acesse e imprima o terceiro elemento da tupla.**
3️⃣ **Crie uma tupla com os dias da semana e peça ao usuário para digitar um número de 1 a 7. Exiba o nome do dia
correspondente.**
4️⃣ **Crie uma tupla contendo cinco números e tente modificar um dos elementos. O que acontece?**
---
### **2️⃣ Operações com Tuplas**
📌 **Conceito**: Podemos realizar operações como **concatenação, repetição, verificação de elementos e obtenção de
índices** em tuplas.
### 🔹 **Exercícios**
5️⃣ **Crie duas tuplas (`tupla1 = (1, 2, 3)`, `tupla2 = (4, 5, 6)`) e una ambas em uma terceira tupla.**
6️⃣ **Dada a tupla `valores = (10, 20, 30, 40, 50)`, verifique se o número 30 está presente nela.**
7️⃣ **Crie uma tupla com cinco elementos e utilize o método `.count()` para contar quantas vezes um determinado
número aparece.**
8️⃣ **Dada a tupla `letras = ('a', 'b', 'c', 'd', 'e')`, encontre o índice do elemento `'c'`.**
---
### **3️⃣ `for in` com Tuplas**
📌 **Conceito**: Podemos percorrer os elementos de uma tupla usando o loop `for in`.
### 🔹 **Exercícios**
9️⃣ **Crie uma tupla com os meses do ano e use um `for` para imprimir cada um deles.**
🔟 **Dada a tupla `valores = (2, 4, 6, 8, 10)`, utilize um `for` para calcular a soma dos números.**
1️⃣1️⃣ **Crie uma tupla com nomes de frutas e use um `for` para exibir cada uma em maiúsculas.**
1️⃣2️⃣ **Dada a tupla `pares = (2, 4, 6, 8, 10)`, utilize um `for` para calcular o quadrado de cada número e imprima
os resultados.**
---
### **4️⃣ `for in range(len())` com Tuplas**
📌 **Conceito**: `for in range(len(tupla))` permite percorrer uma tupla usando índices.
### 🔹 **Exercícios**
1️⃣3️⃣ **Dada a tupla `numeros = (5, 10, 15, 20)`, use `for in range(len(numeros))` para imprimir os valores com seus
índices.**
1️⃣4️⃣ **Crie uma tupla com cinco nomes e utilize `for in range(len())` para exibir os nomes ao contrário.**
1️⃣5️⃣ **Dada a tupla `valores = (100, 200, 300, 400)`, utilize `for in range(len())` para dobrar os valores e
exibi-los.**
1️⃣6️⃣ **Dada a tupla `('Python', 'JavaScript', 'C++', 'Java')`, use `for in range(len())` para exibir cada linguagem
precedida pelo número de índice.**
---
### **5️⃣ Convertendo Tupla para Lista**
📌 **Conceito**: Podemos converter uma tupla em lista para modificar seus elementos.
### 🔹 **Exercícios**
1️⃣7️⃣ **Crie uma tupla com três cores. Converta-a em uma lista, adicione uma nova cor e imprima o resultado.**
1️⃣8️⃣ **Dada a tupla `numeros = (5, 10, 15)`, transforme-a em lista, multiplique cada elemento por 2 e transforme de
volta em tupla.**
1️⃣9️⃣ **Dada a tupla `nomes = ('Ana', 'Bruno', 'Carlos')`, converta-a em lista e substitua o nome "Bruno" por
"Beatriz".**
2️⃣0️⃣ **Crie uma tupla com os números de 1 a 5. Converta-a em lista, remova o último elemento e transforme-a
novamente em tupla.**
---
### **6️⃣ Tupla Retornando Múltiplos Valores**
📌 **Conceito**: Uma função pode retornar múltiplos valores usando tuplas.
### 🔹 **Exercícios**
2️⃣1️⃣ **Crie uma função que recebe dois números e retorna a soma e o produto deles como uma tupla.**
2️⃣2️⃣ **Escreva uma função que recebe uma lista de números e retorna o maior e o menor número como uma tupla.**
2️⃣3️⃣ **Crie uma função que recebe um nome completo e retorna o primeiro e o último nome em uma tupla.**
2️⃣4️⃣ **Faça uma função que recebe uma string e retorna a quantidade de vogais e consoantes como uma tupla.**
### **1️⃣ Dicionários**
📌 **Conceito**: Dicionários (`dict`) são coleções **chave-valor**, onde cada chave é única.
### 🔹 **Exercícios**
1️⃣ **Crie um dicionário chamado `pessoa` com as chaves `nome`, `idade` e `cidade`. Preencha com seus dados e imprima
o dicionário.**
2️⃣ **Dado o dicionário `aluno = {"nome": "João", "nota": 8.5, "curso": "Matemática"}`, acesse e imprima apenas o
valor da nota.**
3️⃣ **Crie um dicionário de preços de três produtos e permita que o usuário digite o nome de um produto para ver o
preço.**
4️⃣ **Crie um dicionário representando um livro (título, autor, ano). Em seguida, adicione um novo campo chamado
`gênero` e imprima o dicionário atualizado.**
---
### **2️⃣ `pop()` em Dicionários**
📌 **Conceito**: O método `.pop(chave)` remove e retorna o valor de uma chave específica.
### 🔹 **Exercícios**
5️⃣ **Dado `carro = {"marca": "Ford", "modelo": "Mustang", "ano": 2022}`, remova a chave `"ano"` usando `.pop()` e
exiba o valor removido.**
6️⃣ **Crie um dicionário de contatos (nome → telefone). Peça ao usuário para digitar um nome e remova esse contato
usando `.pop()`.**
7️⃣ **Dado `estoque = {"maçã": 10, "banana": 5, "laranja": 8}`, remova `"banana"` usando `.pop()` e mostre o
dicionário atualizado.**
8️⃣ **Crie um dicionário com informações de um jogador (nome, posição, gols). Use `.pop()` para remover a chave
`"gols"` e exiba o dicionário atualizado.**
---
### **3️⃣ `del` em Dicionários**
📌 **Conceito**: A instrução `del dict[chave]` remove um item do dicionário permanentemente.
### 🔹 **Exercícios**
9️⃣ **Dado `usuario = {"nome": "Carlos", "email": "carlos@email.com", "idade": 28}`, remova a chave `"email"` usando
`del` e exiba o dicionário.**
🔟 **Crie um dicionário representando um filme (título, diretor, ano). Remova a chave `"diretor"` usando `del`.**
1️⃣1️⃣ **Dado `produtos = {"arroz": 15, "feijão": 10, "macarrão": 8}`, remova `"macarrão"` usando `del` e imprima o
resultado.**
1️⃣2️⃣ **Crie um dicionário com três países e suas capitais. Use `del` para remover um país e exiba o dicionário
atualizado.**
---
### **4️⃣ `append` (Adicionar elementos em Dicionários)**
📌 **Conceito**: Para adicionar elementos, usamos `dict[chave] = valor`.
### 🔹 **Exercícios**
1️⃣3️⃣ **Crie um dicionário de alunos (`nome → nota`). Adicione um novo aluno usando `dict[chave] = valor`.**
1️⃣4️⃣ **Dado `agenda = {"Ana": "9999-1111", "Bruno": "8888-2222"}`, adicione um novo contato ao dicionário e imprima
o resultado.**
1️⃣5️⃣ **Crie um dicionário representando um carro (`marca`, `modelo`). Adicione a chave `"ano"` e atribua um valor.**
1️⃣6️⃣ **Crie um dicionário com nomes de cidades e seus estados. Adicione uma nova cidade com seu estado
correspondente.**
---
### **5️⃣ `for in` em Dicionários**
📌 **Conceito**: Podemos iterar sobre chaves e valores de um dicionário.
### 🔹 **Exercícios**
1️⃣7️⃣ **Dado `cores = {"vermelho": "#FF0000", "verde": "#00FF00", "azul": "#0000FF"}`, use `for` para imprimir todas
as cores e seus códigos hexadecimais.**
1️⃣8️⃣ **Crie um dicionário com três países e suas capitais e use `for` para imprimir `"A capital de {país} é {
capital}"`.**
1️⃣9️⃣ **Dado `estoque = {"maçã": 10, "banana": 5, "laranja": 8}`, use `for` para exibir o nome das frutas e a
quantidade em estoque.**
2️⃣0️⃣ **Crie um dicionário de estudantes (`nome → nota`). Use `for` para exibir apenas os nomes.**
---
### **6️⃣ `values()` em Dicionários**
📌 **Conceito**: O método `.values()` retorna todos os valores do dicionário.
### 🔹 **Exercícios**
2️⃣1️⃣ **Dado `idades = {"Alice": 25, "Bruno": 30, "Carlos": 22}`, use `.values()` para imprimir todas as idades.**
2️⃣2️⃣ **Crie um dicionário de preços de produtos e utilize `.values()` para calcular a soma total dos preços.**
2️⃣3️⃣ **Dado `pontuacao = {"Ana": 50, "Beatriz": 70, "Carlos": 85}`, use `.values()` para encontrar a maior
pontuação.**
2️⃣4️⃣ **Crie um dicionário de notas de alunos e exiba a média das notas usando `.values()`.**
---
### **7️⃣ `keys()` em Dicionários**
📌 **Conceito**: O método `.keys()` retorna todas as chaves do dicionário.
### 🔹 **Exercícios**
2️⃣5️⃣ **Dado `cadastro = {"nome": "Lucas", "idade": 29, "cidade": "São Paulo"}`, use `.keys()` para exibir todas as
chaves.**
2️⃣6️⃣ **Crie um dicionário representando um carro (marca, modelo, ano). Utilize `.keys()` para exibir os atributos
disponíveis.**
2️⃣7️⃣ **Dado `contatos = {"Ana": "9999-1111", "Bruno": "8888-2222", "Carlos": "7777-3333"}`, utilize `.keys()` para
listar os nomes dos contatos.**
2️⃣8️⃣ **Crie um dicionário com países e capitais. Use `.keys()` para verificar se um país específico está no
dicionário.**
---
### **8️⃣ Convertendo Dicionário para Lista (`list()`)**
📌 **Conceito**: Podemos converter as chaves ou valores de um dicionário em uma lista usando `list(dict)`,
`list(dict.keys())` ou `list(dict.values())`.
### 🔹 **Exercícios**
2️⃣9️⃣ **Dado `dados = {"nome": "Maria", "idade": 32, "cidade": "Recife"}`, converta suas chaves em uma lista e
imprima.**
3️⃣0️⃣ **Dado `precos = {"pão": 2.5, "leite": 4.0, "café": 8.5}`, transforme os valores em uma lista e imprima.**
3️⃣1️⃣ **Crie um dicionário representando notas de alunos (`aluno → nota`). Converta os nomes dos alunos em uma lista.**
3️⃣2️⃣ **Dado `estoque = {"maçã": 10, "banana": 5, "laranja": 8}`, transforme o dicionário inteiro em uma lista de
tuplas (`list(estoque.items())`) e imprima.**