Python 3では、ユーザーからの入力を3桁のコードとして受け取り、それらをリスト内のアイテムに変換するプログラムを作成しようとしています。次に、これらの項目をタプルのリスト内のタプルの最初の(3桁のコード)部分と比較し、タプル全体を出力します。
import shares
portfolio_str=input("Please list portfolio: ")
portfolio_str= portfolio_str.replace(' ','')
portfolio_str= portfolio_str.upper()
portfolio_list= portfolio_str.split(',')
print(portfolio_list)
print()
print('{:<6} {:<20} {:>8}'.format('Code', 'Name', 'Price'))
data=shares.EXCHANGE_DATA
for (code, name, share_value) in data:
if code == i in portfolio_list:
print('{:<6} {:<20} {:>8.2f}'.format(code, name, share_value))
else:
print("Failure")
ご覧のとおり、EXCHANGE_DATAというタプルのリストを含むsharesというモジュールを使用しています。これは、次のように設定されています。
EXCHANGE_DATA = [('AIA', 'Auckair', 1.50),
('AIR', 'Airnz', 5.60),
('AMP', 'Amp',3.22),
('ANZ', 'Anzbankgrp', 26.25),
('ARG', 'Argosy', 12.22),
('CEN', 'Contact', 11.22),
('CNU', 'Chorus',3.01),
('DIL', 'Diligent', 5.3),
('DNZ', 'Dnz Property', 2.33),
('EBO', 'Ebos', 1.1),
模範的な入力は次のようになります。
AIA, AMP, ANZ
対応する出力は次のようになります。
Code Name Price
AIA Auckair 1.50
AMP Amp 3.22
ANZ Anzbankgrp 26.25
私は、私が必要だと思うforおよび/またはifステートメントに固執しています。