ユーザ入力に応じてHTTPまたはFTP接続を作成するコードは次のとおりです。 if条件とelif条件は、常にFALSEと評価されます。 1と0を入力すると「Sorry、wrong answer」と表示されます。ユーザ入力に関係なく条件が常にfalseに評価された場合のPython
domain = 'ftp.freebsd.org'
path = '/pub/FreeBSD/'
protocol = input('Connecting to {}. Which Protocol to use? (0-http, 1-ftp): '.format(domain))
print(protocol)
input()
if protocol == 0:
is_secure = bool(input('Should we use secure connection? (1-yes, 0-no): '))
factory = HTTPFactory(is_secure)
elif protocol == 1:
is_secure = False
factory = FTPFactory(is_secure)
else:
print('Sorry, wrong answer')
import sys
sys.exit(1)
connector = Connector(factory)
try:
content = connector.read(domain, path)
except URLError as e:
print('Can not access resource with this method')
else:
print(connector.parse(content))
出力:
Connecting to ftp.freebsd.org. Which Protocol to use? (0-http, 1-ftp): 0 0 Sorry, wrong answer $ python abstractfactory.py Connecting to ftp.freebsd.org. Which Protocol to use? (0-http, 1-ftp): http http Sorry, wrong answer $ python abstractfactory.py Connecting to ftp.freebsd.org. Which Protocol to use? (0-http, 1-ftp): 1 1 Sorry, wrong answer $
してくださいアドバイス。私はここで間違って何をしていますか?おかげさまで