пустая или пустая строка из функции ввода в python - PullRequest
0 голосов
/ 11 марта 2020

У меня есть вопрос. Как сказать программе завершиться, когда пользователь не вводит значение и просто нажимает ввод?

name=("")
while(name !=  '\n'):
    print( 'Enter first and last name: ')
    name=input().lower()
    if(name !=  '\n'):
        print(name)
    else:
        print("terminado")
        break

Ответы [ 2 ]

1 голос
/ 11 марта 2020

Проверьте значение name, когда вы просто нажмете Enter, чтобы узнать:

>>> name = input('Name? ')
Name? Mark
>>> name
'Mark'
>>> name = input('Name? ')
Name?
>>> name
''

Новая строка не включена во вход.

Также if name: - это True, если name не пустая строка, поэтому:

while True:
    name = input('Name? ')
    if name:
        print(name)
    else:
        print('Done')
        break
Name? Mark
Mark
Name? Joe
Joe
Name? John
John
Name?
Done
0 голосов
/ 11 марта 2020

Это также должно работать:

while True:
  name = input('Enter first and last name:').lower()
  if not name:
     break
  print("name: %s" % name)
print("terminado")

Пока пользователь не нажимает "Enter" и фактически имеет имя типа, имя будет напечатано, но если "Enter" означает, что в основном возвращается пустая строка "", затем она возвращает terminado.

...