Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Dúvida da Aula 3 do Python

status_civil = ('casado','solteiro') + ('divorciado',)  
#cuidado, precisa ter a virgula após 'divorciado'
#por que?
2 respostas
solução!

Oi Bruno,

A vírgula é necessária pois você está tentando concatenar uma tuple com outra. Caso você escreva apenas ('divorciado'), o Python vai entender que isso é uma string e não irá conseguir concatenar uma tuple com uma string. Veja:

>>> status = ('divorciado')
>>> type(status)
<class 'str'>

>>> status = ('divorciado',)
>>> type(status)
<class 'tuple'>

Caso tente concatenar uma string com uma tuple, verá esse erro

('casado', 'solteiro') + ('divorciado')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: can only concatenate tuple (not "str") to tuple

Sacou?

Se você omitir a vírgula o interpretador vai entender que os seus parênteses formam o operador de precedência (como se você fosse fazer alguma operação com a string entre parênteses antes de aplicar o operador de concatenação) ao invés do construtor de tupla.