Написание мини-программы с использованием break и if операторов в Python - PullRequest
0 голосов
/ 06 января 2020

Я новичок в кодировании, но очень мотивирован и полон решимости учиться. Я писал мини-программы на Python 3, чтобы поиграть с моим пониманием «если» и «сломать» утверждения. В программе, которую я написал ниже, даже когда я ставлю свой ответ как Yes, он все равно печатает I'm sorry, I must've misheard you sir, my apologies. Кроме того, когда я добавляю break в конец else, он говорит, что он вне l oop. Я хочу добавить break, поэтому, если я скажу No, программа может остановиться. Может кто-нибудь объяснить, пожалуйста?

name = str(input('What is your name? '))
wrongname = input('Are you really ' + name + '?')
if wrongname != 'Yes':
    print("I'm sorry, I must've misheard you sir, my apologies")
else:
    print('I heard all about you Mr. ' + name + '!')  
input('What are you doing in town?')
input('Ah I see, well, I hope you enjoy your stay !')
print('Thank you !')

Ответы [ 2 ]

1 голос
/ 06 января 2020

Вы, вероятно, не отвечаете точно Yes, но что-то немного отличается, например yes.

Чтобы сделать это без учета регистра, вы можете использовать, например:

if wrongname.lower() != 'yes':

( или другие подобные варианты).

Также обратите внимание, что в коде в настоящее время нет l oop, поэтому немного смутно говорить о разрыве с al oop в данный момент .

0 голосов
/ 06 января 2020

Вы можете просто сделать это:

import sys

name = str(input('What is your name? '))
wrongname = input('Are you really ' + name + '?')
if wrongname == 'No':
    print('Exiting program')
    sys.exit(0)
if wrongname != 'Yes':
    print("I'm sorry, I must've misheard you sir, my apologies")
else:
    print('I heard all about you Mr. ' + name + '!')  
input('What are you doing in town?')
input('Ah I see, well, I hope you enjoy your stay !')
print('Thank you !')
...