Alguém me explica o poder desse diabo de .strip( ) no Python!!
Olá, pessoal!
Sou iniciante no mundo da programação e estou aprendendo o Python. Fiz esse pequeno exercício onde coloco nome, idade e sexo de 4 pessoas, retorno a media de idade do grupo, nome e idade do homem mais velho e quantas mulheres têm menos de 20 anos. Sei que o strip remove espaços mas...
Ocorre que quando eu declaro a variável ''nome = str(input('Digite o nome: '))'' sem o .strip, quando uma mulher é a mais velha, ele me retorna como se fosse o homem mais velho, mas quando declaro ''nome = str(input('Digite o nome: ')).strip( )'' ele passa a considerar o homem. O que esse .strip( ) fez de especial?
masc_total = 0
fem_total = 0
homem_velho = 0
nomevelho = ''
totmulher20 = 0
soma_idade = 0
mediaidade = 0
for p in range(1, 5):
nome = str(input('Digite o nome: '))
idade = int(input('Digite a idade: '))
sexo = str(input('Digite o sexo: [M] Masculino | [F] Feminino: ')).strip()
soma_idade += idade
mediaidade = soma_idade / p
if p == 1 and sexo in 'Mm':
homem_velho = idade
nomevelho = nome
if idade > homem_velho:
homem_velho = idade
nomevelho = nome
if sexo in 'Mm':
masc_total += 1
if sexo in 'Ff':
fem_total += 1
if sexo in 'Ff' and idade < 20:
totmulher20 += 1
print('A media de idade do grupo é de {} anos'.format(mediaidade))
print('O nome do homem mais velho é {} e ele tem {} anos'.format(nomevelho, homem_velho))
print('{} mulheres possuem menos de 20 anos'.format(totmulher20))
print(' Ao todo foram {} pessoas, sendo {} homens e {} mulheres'.format(p, masc_total, fem_total))
Sou iniciante no mundo da programação e estou aprendendo o Python. Fiz esse pequeno exercício onde coloco nome, idade e sexo de 4 pessoas, retorno a media de idade do grupo, nome e idade do homem mais velho e quantas mulheres têm menos de 20 anos. Sei que o strip remove espaços mas...
Ocorre que quando eu declaro a variável ''nome = str(input('Digite o nome: '))'' sem o .strip, quando uma mulher é a mais velha, ele me retorna como se fosse o homem mais velho, mas quando declaro ''nome = str(input('Digite o nome: ')).strip( )'' ele passa a considerar o homem. O que esse .strip( ) fez de especial?
masc_total = 0
fem_total = 0
homem_velho = 0
nomevelho = ''
totmulher20 = 0
soma_idade = 0
mediaidade = 0
for p in range(1, 5):
nome = str(input('Digite o nome: '))
idade = int(input('Digite a idade: '))
sexo = str(input('Digite o sexo: [M] Masculino | [F] Feminino: ')).strip()
soma_idade += idade
mediaidade = soma_idade / p
if p == 1 and sexo in 'Mm':
homem_velho = idade
nomevelho = nome
if idade > homem_velho:
homem_velho = idade
nomevelho = nome
if sexo in 'Mm':
masc_total += 1
if sexo in 'Ff':
fem_total += 1
if sexo in 'Ff' and idade < 20:
totmulher20 += 1
print('A media de idade do grupo é de {} anos'.format(mediaidade))
print('O nome do homem mais velho é {} e ele tem {} anos'.format(nomevelho, homem_velho))
print('{} mulheres possuem menos de 20 anos'.format(totmulher20))
print(' Ao todo foram {} pessoas, sendo {} homens e {} mulheres'.format(p, masc_total, fem_total))
William Costa
Curtidas 0
Melhor post
Divino Rodrigues
16/04/2020
Boa tarde. Cara a função do .strip( ) é basicamente retirar espaços em branco no começo e no fim da string.
Ex:
Ex:
" sobrando espaços ".strip() # "sobrando espaços"
GOSTEI 1
Mais Respostas
William Costa
16/04/2020
Boa tarde. Cara a função do .strip( ) é basicamente retirar espaços em branco no começo e no fim da string.
Ex:
Ex:
" sobrando espaços ".strip() # "sobrando espaços"
Cara, consegui arrumar. Não era o strip, embora estranhamente estava influenciando. Olha essa parte:
If idade > homem_velho
nomevelho = nome
Isso faz com que leia até mesmo se o mais velho for mulher.
Se eu fizer
If idade > homem_velho and sexo == 'Mm'
nomevelho = nome
Da certo mesmo se a pessoa mais velha for uma mulher.
GOSTEI 0