2016-11-04 6 views
1

たとえば、私はユーザーに "alberta"のような県を入力させて、そのユーザーに "AB"を表示させようとしています。または、それ以外の方法です。私はリストだけを使うことができます。 (講師は「並列リスト」について何かを言及?)リスト内のアイテムを1つ作るにはどうすればいいですか==別のリストのアイテムにするには?

これは私が試したものです...

def lists (province, abrev): 
    userInput = input("Enter Province or Abreviation: ") 
    province = ["alberta", "nova scotia", "british columbia"] 
    abrev = ["AB", "NS", "BC"] 
    for ab in range(len(province)): 
     if province["alberta"] == abrev["AB"]: 
     print("AB") 
    if userInput == province: 
     print(len(province)) 
def main(): 

    lists() 

main() 
+0

ヒント:ループのどこかで 'ab'変数を使用しているはずです。 – Kevin

+1

また、リストの要素にも正しくアクセスしていません。リストアクセスには整数値が必要であることを忘れないでください。 – idjaw

+0

@idjaw私はあなたが何を意味するのか知っていると思いますが、main()でlist()関数を正しく呼び出すにはどうすればいいですか? –

答えて

5

あなたが一緒に二つのリストを結合するために)(ジップを使用することができます。

province = ["alberta", "nova scotia", "british columbia"] 
abrev = ["AB", "NS", "BC"] 

userInput = input("Enter Province or Abreviation: ") 

for prov,ab in zip(province,abrev): 
    if userInput == prov: 
     print(ab) 
    elif userInput == ab: 
     print(prov) 

また、辞書を使用することもできます。あなたは、あなたがすべきユーザの入力を扱っているので、あなたが

print(province_dict['AB']) 

を行うだろう略語「AB」を持っているものの状態ルックアップしたい場合は、この方法を使えば、キーと値

province_dict = {'NS': 'nova scotia', 'BC': 'british columbia', 'AB': 'alberta'} 

を持っています項目が辞書ではなく、KeyError例外を上げ見つからない場合、これは「不明」を返します

province_dict.get(userInput,'Unknown') 

を使用しています。

+0

辞書をuserInputにどのように接続できますか? –

+0

最も簡単な方法は 'print(province_dict [userInput])' – scotty3785

+0

ですが、有効な値を入力しない可能性のある人間を扱っているからです。 'province_dict.get(userInput、 'Unknown')'をお勧めします。 KeyErrorを発生させるのではなく、辞書に項目が見つからない場合は 'Unknown'が返されます – scotty3785

0

リストのindex()メソッドを見てみると、すべての要素をループする必要はありません。

+0

これは答えですか?コメントのように思える。 – scotty3785

関連する問題