Estoy tratando de hacer un programa que pueda agregar cadenas a una lista. Por ejemplo 'Apple'. Los ordena en orden alfabético y finaliza el ciclo en una entrada vacía

He intentado esperar valueErrors y SyntaxError ninguno de ellos funciona para string. También he intentado if (str (input) == Null) pero eso no funcionó como la id espera o quiere

try:
    ostos = []

    while True:
        ostos.append(str(input("Lisää listalle:")))
        print("Listalla on", len(ostos), "riviä:")
        ostos.sort()
        print(ostos)

except:
    print(ostos)

Sería como una entrada en la lista. Agregaría Apple, Banana y Orange a la lista. Póngalos en orden alfabético cada entrada. Y terminaría en una entrada vacía

Lista de lista: Manzana Lista 1 lista: Manzana Lista de lista: Naranja Lista 2 lista: Manzana, Naranja Lista de lista: Plátano Listalla 3 lista: Manzana, Plátano, Naranja Lista de lista: Listalla 3 rivi: Manzana 'vacía', Plátano, Naranja

1
Sebastian Bergman Sebu 5 oct. 2019 a las 14:10

4 respuestas

La mejor respuesta

Tal vez esto ayude:

ostos = []

while True:
    string = str(input("Enter something:  "))
    if string != '':
        print("You entered blank")
        break
    else:
        ostos.append(string)
        continue

Esto también funciona:

if len(string) == 0: break

El primero simplemente verifica si la entrada del usuario está en blanco, que será el caso si el usuario presiona enter. El segundo verifica si la longitud de la cadena ingresada es 0, lo que solo sucede si el usuario presiona enter.

1
Sid 5 oct. 2019 a las 11:31

Funciona bien para mí.

if __name__ == "__main__":

ostos = []

while True:
    input_data =  str( input("Input :" ))
    if input_data.rstrip() == "" :
        break

    ostos.append( input_data )

    ostos.sort()
    print(ostos)
0
Vo Thanh Toan 5 oct. 2019 a las 11:35

También puede hacerlo de esta manera sin if.

ostos = []

s = input("Lisää listalle:")
while s:
    ostos.append(s)
    print("Listalla on", len(ostos), "riviä:")
    ostos.sort()
    print(ostos)

    s = input("Lisää listalle:")
2
Lamanus 5 oct. 2019 a las 11:58

Debe verificar si la cadena pasada está vacía y romper el bucle:

ostos = []

while True:
    s = input("Lisää listalle:")
    if not s:  # check that s is not empty
        break   # break loop if is empty
    ostos.append(s)
    print("Listalla on", len(ostos), "riviä:")
    ostos.sort()
    print(ostos)
1
ingvar 5 oct. 2019 a las 11:14
58247753