Остановка цикла While с пустым вводом

#python #python-3.x #while-loop

#python #python-3.x #цикл while

Вопрос:

Как я могу остановить цикл while, когда ввод x пуст, вместо того, чтобы останавливаться при появлении слова «стоп»?

Это то, что я сделал, но с ‘stop’. Однако, если я изменю условие на x!=’ ‘ , когда я пытаюсь преобразовать x в int, он ломается.

 x=''
y=''
list=[]
while x!='stop':
    x=input('x input: ')
    y=int(input('y input: '))
    if x!='stop':
        list.append((int(x),y))
    
print('Stop')
print(list)
 

Ответ №1:

Попробуйте это

 x=''
y=''
list=[]
while x!='stop':
    x=input('x input: ')
    y=int(input('y input: '))
    # break loop when x is empty string
    if x == '':
        break;
    if x!='stop':
        list.append((int(x),y))
    
    
print('Stop')
print(list)
 

break ключевое слово прерывает цикл, если x является пустой строкой. Проверьте переменную x перед приведением ее к int .

Комментарии:

1. @bench Вы должны принять ответ, щелкнув серую галочку под знаком голосования. Если хотите, вы также можете проголосовать. Помогает представителю человека, который ответил.

2. Только что сделал! Я забыл это сделать, потому что это заставило меня ждать 5 минут

Ответ №2:

Это должно делать то, что вы хотите сделать.

 x='x'  
y='y'  
list=[]  
while x!='':  
    x=input('x input: ')  
    if x!='':  
        y=int(input('y input: '))  
        list.append((int(x),y))  
    
print('Stop')  
print(list)