TransWikia.com

Não consigo tirar o resultado None deste código

Stack Overflow em Português Asked on September 27, 2021

Estou tentando retirar esse None, já botei else, já botei add2 e depois defini add = add2 mas ainda não consegui tirar.

Como fica:

Qual fruta você quer adicionar à lista? morango

Quer adicionar mais fruta? talvez

Por favor digite sim ou não:

None (e a caixa de texto pra digitar)

(mesmo problema nos dois ifs)

frutas = []
novafruta = input('Qual fruta você quer adicionar à lista? ')
frutas.append(novafruta)
add = input('Quer adicionar mais fruta? ')

if add != 'sim' or add != 'não':
    add = input(print('Por favor *digite sim ou não: '))
    
while add == 'sim':
    frutas.append(input('Qual fruta você quer adicionar à lista? '))
    add = input('Quer adicionar mais fruta? ')
    if add != 'sim' or add != 'não':
        add = input(print('Por favor digite sim ou não: '))

One Answer

A lógica é muito complicada e redundante. Eu até mudaria um pouco a forma de responder ao usuário para simplificar o código, mas não sei se pode então vou manter assim.

O maior motivo do erro é que tem um input() sem necessidade encapsulando o print(). Isso não faz sentido e torna a lógica falha porque a pessoa só tem uma chance de errar, depois dá problema. Então tem que tirar isso, mas tem que consertar todo o resto da lógica.

frutas = []
add = 'sim'
while True:
    if add == 'sim':
        frutas.append(input('Qual fruta você quer adicionar à lista? '))
    add = input('Quer adicionar mais fruta? ')
    if add == 'não':
        break
    if add != 'sim' and add != 'não':
        add = print('Por favor digite sim ou não: ')
print(frutas)

Veja funcionando no ideone. E no repl.it. Também coloquei no GitHub para referência futura.

Correct answer by Maniero on September 27, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP