「Pythonプログラミング入門から実践へ」--pythonを学ぶ8日目


python学習の8日目
  • 前言
  • 辞書
  • ユーザ入力


  • 前言
    今日はpythonを勉強する8日目で、前回辞書の中の値を勉強しました.覚えていますか.覚えていません.復習してもいいですよ.直接始めよう
    辞書
    ここではset関数の使い方を共有し、重複する要素が1つしか表示されないようにします.
    favorite_language = {
         'jen':'Python',
                         'sarah':'c',
                         'edward':'ruby',
                         'phil':'Python'
                         }
    
    
    print("The following languages have been mentioned:")
    for language in set(favorite_language.values()):#       set     favorite      ,    ,     set      (     )
        print(language.title())
    

    結果:The following languages have been mentioned:C Ruby Python
    ネストは、辞書をリストに保存するか、リストを辞書に保存する必要がある場合があります.これをネストと呼びます.
    辞書リスト
    alien_0 = {
         'color':'green','points':5}
    alien_1 = {
         'color':'yellow','points':10}
    alien_2 = {
         'color':'red','points':15}
    
    
    aliens= [alien_0,alien_1,alien_2]#               ,               ,          
    for alien in aliens:
        print(alien)
    

    結果:{‘color’:‘green’,‘points’:5}{‘color’:‘yellow’,‘points’:10}{‘color’:‘red’,‘points’:15}
    ここでは定義辞書をリストに埋め込みます.
    任意の数の辞書を埋め込む
    #               
    aliens = []
    #  30       
    for alien_number in range(30):#    ,     
        new_alien = {
         'color':'green','points':5}
        aliens.append(new_alien)#      ,     
    
    
    #   5    。
    for alien in aliens[:5]:#       ,             
        print(alien)
    print("...")
    print(f"Total number of aliens:{len(aliens)}")#    Len         
    

    結果:{‘color’:‘green’,‘points’:5}{‘color’:‘green’,‘points’:5}{‘color’:‘green’,‘points’:5}{‘color’:‘green’,‘points’:5}{‘color’:‘green’,‘points’:5}{‘color’:‘green’,‘points’:5}...Total number of aliens:30
    リスト内の辞書を変更する
    #               
    aliens = []
    #  30       
    for alien_number in range(30):#    ,     
        new_alien = {
         'color':'green','points':5}
        aliens.append(new_alien)#      ,     
    #           
    for alien in aliens[:3]:
        if alien['color'] =='green':
            alien['color'] ='yellow'
            alien['points'] = 10 #              alien            new_alien
    
    
    for alien in aliens[0:5]:
        if alien['color'] == 'green':
            alien['color'] = 'yellow'
            alien['points'] = 10
        elif alien['color'] == 'yellow':
            alien['color'] = 'red'
            alien['points'] = 15
    #   5    。
    for alien in aliens[:5]:#       ,             
        print(alien)
    print("...")
    print(f"Total number of aliens:{len(aliens)}")#    Len         
    

    結果:{‘color’:‘red’,‘points’:15}{‘color’:‘red’,‘points’:15}{‘color’:‘red’,‘points’:15}{‘color’:‘color’:‘yellow’,‘points’:10}{‘color’:‘yellow’,‘points’:‘points’,‘points’:10}...Total number of aliens:30
    元の辞書の代わりに新しい辞書を使う
    辞書にリストを保存するにはpizzaを例にしましょう.pizzaには多くの味があり、多くのレシピがありますが、レシピには材料だけでなく、リストを使用して保存する必要があります.
    #    pizza   
    pizza = {
         'crust':'thick',
             'toppings':['mushroom','extra cheese']#                
    }
    #       。
    print(f"You ordered a {pizza['crust']}-crust pizza"
          f" with the following toppings:")#  print         ,                 
    for topping in pizza['toppings']:
        print("\t"+topping)#       “+”        ,     。
    

    結果:You ordered a thick-crust pizza with the following toppings:mushroom extra cheese
    コードのコメントに注意してね
    実戦
    favorite_languages = {
         
        'jen':['python','ruby'],
        'sarah':['c'],
        'edward':['ruby','go'],
        'phil':['python','haskell'],
    }#              
    
    
    for name,languages in favorite_languages.items():#           ,       items()  ,
        print(f"
    {name.title()}'s favorite languages are:"
    )# for language in languages:# , print(f"\t{language.title()}")

    結果:Jen’s favorite languages are:Python Ruby
    Sarah’s favorite languages are: C
    Edward’s favorite languages are: Ruby Go
    Phil’s favorite languages are: Python Haskell
    辞書に辞書を保存するのは、例えば誰もが自分の名前を持っていると同時に、自分の口座のユーザー名もたくさんあります.このとき、私たちはこの辞書に辞書をネストする必要があります.
    users = {
         
        'aeinstein':{
         
            'first':'albert',
            'last':'einstein',
            'location':'princeton',
        },#         
    
    
        'mcurie':{
         
            'first':'marie',
            'last':'curie',
            'location':'paris'
        },
    }
    for username,user_infor in users.items():#         。username      ,user_infor      
        print(f"
    Username:{username}"
    )# full_name = f"{user_infor['first']}{user_infor['last']}"# = location = user_infor['location'] print(f"\tFull name:{full_name.title()}") print(f"\tLocation:{location}")

    結果:Username:aeinstein Full name:Alberteinstein Location:princeton
    Username:mcurie Full name:Mariecurie Location:paris
    ユーザー入力
    関数inputの動作原理関数input()は、プログラムの実行を一時停止させ、ユーザーがテキストを入力するのを待つ.ユーザー入力を取得したら、pythonは変数に割り当てて、あなたの使用を便利にします.
    message = input("Tell me something,and I will repeat it back to "
                    "you:")#      c    scanf        ,            
    print(message)
    

    結果:Tell me something,and I will repeat it back to you:yinyanghaixing#私が入力したyinyanghaixing
    必要なヒントが多すぎる場合は、変数を1つ多く使用して代替することができます.
    prompt = "If you tell us who you are,we can personalize the massage you see."
    prompt +="
    What's your name"
    name = input(prompt) print(name)

    結果:If you tell us who you are,we can personalize the massage you see.What’s your nameyinyang yinyang
    int()を使用して数値入力を取得する
    >>> age = input('How old are you?')
    How old are you?21
    >>> age
    '21'#   python             
    >>> age > 18#          ,       ,      ‘str’     ‘int’       
    Traceback (most recent call last):
      File "", line 1, in <module>
        age > 18
    TypeError: '>' not supported between instances of 'str' and 'int'
    >>> age = int(age)#  int   age   int  
    >>> age > 18
    True#        
    

    今回は大きなコードなので、真剣に分析してみてください.もし間違いがあれば、コメントエリアの指摘を歓迎します.ありがとうございます.