Skip to content

Commit 36ed3c5

Browse files
committed
args e kwargs
1 parent 6c020e2 commit 36ed3c5

File tree

1 file changed

+59
-0
lines changed

1 file changed

+59
-0
lines changed

args_e_kwargs.py

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
"""8.12 – Sanduíches: Escreva uma função que aceite uma lista de itens que uma
2+
pessoa quer em um sanduíche. A função deve ter um parâmetro que agrupe tantos
3+
itens quantos forem fornecidos pela chamada da função e deve apresentar um
4+
resumo do sanduíche pedido. Chame a função três vezes usando um número
5+
diferente de argumentos a cada vez."""
6+
7+
8+
def sanduiche(*args):
9+
print(f'O sanduíche pedido tem {len(args)} itens:')
10+
for arg in args:
11+
print(f'- {arg}')
12+
13+
14+
sanduiche('berinjela', 'queijo minas')
15+
sanduiche('salame', 'queijo', 'pepino')
16+
sanduiche('presunto', 'queijo', 'rosbife', 'mostarda dijon')
17+
18+
"""8.13 – Perfil do usuário: Comece com uma cópia de user_profile.py, da página
19+
210. Crie um perfil seu chamando build_profile(), usando seu primeiro nome e
20+
o sobrenome, além de três outros pares chave-valor que o descrevam."""
21+
22+
23+
def build_profile(name, last_name, **user_info):
24+
profile = {'name': name, 'last_name': last_name}
25+
for key, value in user_info.items():
26+
profile[key] = value
27+
28+
print(f'O nome do usuário é {name.title()} e o sobrenome é {last_name.title()}.')
29+
if len(profile) > 2:
30+
print(f'Outras informações são:')
31+
for key, value in user_info.items():
32+
print(f'{key.title()} é {value}.')
33+
34+
35+
build_profile('Hugo', 'Gusmão')
36+
build_profile('Hugo', 'Gusmão', idade=36, profissão='Geógrafo', cidade='São Paulo')
37+
38+
39+
"""8.14 – Carros: Escreva uma função que armazene informações sobre um carro em
40+
um dicionário. A função sempre deve receber o nome de um fabricante e um
41+
modelo. Um número arbitrário de argumentos nomeados então deverá ser aceito.
42+
Chame a função com as informações necessárias e dois outros pares nome-valor,
43+
por exemplo, uma cor ou um opcional. Sua função deve ser apropriada para uma
44+
chamada como esta:
45+
car = make_car(‘subaru’, ‘outback’, color=’blue’, tow_package=True)
46+
Mostre o dicionário devolvido para garantir que todas as informações foram
47+
armazenadas corretamente."""
48+
49+
50+
def cars(fabricante, modelo, **kwargs):
51+
car = {'fabricante': fabricante, 'modelo': modelo}
52+
for key, value in kwargs.items():
53+
car[key] = value
54+
for key, value in car.items():
55+
print (f'{key}: {value}')
56+
print(car)
57+
58+
59+
cars('Honda', 'Civic', cor='Azul', ano=2020)

0 commit comments

Comments
 (0)