Python実戦10-19例:リスト、辞書、サイクルなどの総合訓練

9195 ワード

筆者:風起怨江南出典:https://blog.csdn.net/JackMengJinオリジナル記事の転載は出典を明記してください.好きならいいね+フォローして、応援ありがとう!
「Python実戦シリーズ」のすべての実例訓練問題はPythonの各知識点から細かく選ばれており、皆さんの役に立つことを願っています.
Python実戦シリーズは毎週不定期に更新され、前回の実戦訓練を見たい方は=>転送ゲートをクリックしてください.くだらないことを言わないで,直接干物に行きなさい.
 
目次
10.リスト要素の削除
11.リストの変更
12.可変および非可変のデータ型の判断
13.要素の削除と削除
14.データ型変換辞書
15.判断による価格計算
16.閏年かどうかを判断する
17.数字の最大値を求める
18.forを使用して九九乗算表を印刷する
19.要素の循環削除
 
Python実戦10-19例:リスト、辞書、サイクルなどの総合訓練
10.リスト要素の削除
リストの「 」を削除し、2つ以上の方法を書き出します.info = ["Carter", 45, " ", " ", [" ", " ", " "], True, None, " "]
#  1 pop()
info = ["Carter", 45, " ", "     ", [" ", " ", " "], True, None, "        "]
print('      :
',info) info.pop(3) print(' 1 pop() , :
',info) # 2 remove() info = ["Carter", 45, " ", " ", [" ", " ", " "], True, None, " "] info.remove(' ') print(' 2 remove() , :
',info) # 3 del info = ["Carter", 45, " ", " ", [" ", " ", " "], True, None, " "] del info[3] print(' 3 del , :
',info) # 4 info = ["Carter", 45, " ", " ", [" ", " ", " "], True, None, " "] info1 = info[:3] info2 = info[4:] print(' 4 , , :
',info1 + info2)
      :
 ['Carter', 45, ' ', '     ', [' ', ' ', ' '], True, None, '        ']
  1   pop()    ,        :
 ['Carter', 45, ' ', [' ', ' ', ' '], True, None, '        ']
  2   remove()    ,        :
 ['Carter', 45, ' ', [' ', ' ', ' '], True, None, '        ']
  3   del  ,        :
 ['Carter', 45, ' ', [' ', ' ', ' '], True, None, '        ']
  4         ,         ,        :
 ['Carter', 45, ' ', [' ', ' ', ' '], True, None, '        ']

削除要素はdel文で簡単に削除しないでください.危険です.
 
11.リストの変更
リストli 2=[1,2,3,4,5]が表示されます.関連する操作でli 2=[0,1,2,3,66,4,5,11,22,33]に変更してください.
#  1   
li2 = [1,2,3,4,5]
print('  li2    :',li2)
li3 = [0,1,2,3,66,4,5,11,22,33]
li2 = li3[::]
print('  1              ,    li2    :
',li2) # 2 insert() li2 = [1,2,3,4,5] li2.insert(0,0) li2.insert(4,66) li2.insert(7,11) li2.insert(8,22) li2.insert(9,33) print(' 2 insert() , li2 :
',li2) # 3,insert(),append() li2 = [1,2,3,4,5] li2.insert(0,0) li2.insert(4,66) li2.append(11) li2.append(22) li2.append(33) print(' 3 insert() append() , li2 :
',li2)

主にリストの追加要素操作を考察し,具体的なニーズに応じて適切な方法を選択する.
 
12.可変および非可変のデータ型の判断
次のデータは可変タイプであり、可変タイプのデータであることを指摘してください.
1、 (11)    
2、 {11,22}
3、 ([11,22,33])
4、 {"aa":111}
print('''  :(11)   ,          
{11,22}   ,    add()              ,        。
([11,22,33])    ,  ()        ,                      ,             。       。        ,          。
{"aa":111}   ,        ,      。''')
print('  :   1          ;   2、3、4         。')

様々な落とし穴、基礎知識点.印刷可能なデータ型が不明な場合は、可変データ型であるか否かを判断します.
 
13.要素の削除と削除
現在、li=[11,22,33,22,22,44,55,77,88,99,11]のリストがあります.
  • 要求一:リスト内の重複要素
  • を除去する
  • 要求2:77,88,99の3つの要素
  • を削除する
    li = [11,22,33,22,22,44,55,77,88,99,11]
    #         ,      
    li_new = list(set(li))
    li_new.sort()
    print(li_new)
    #      remove           
    li_new.remove(77)
    li_new.remove(88)
    li_new.remove(99)
    print(li_new)
    
    #   pop()      
    li = [11,22,33,22,22,44,55,77,88,99,11]
    li_new = list(set(li))
    li_new.sort()
    #pop()    ,      ,          
    li_new.pop()
    li_new.pop()
    li_new.pop()
    print(li_new)
    
    #       
    li = [11,22,33,22,22,44,55,77,88,99,11]
    li_new = list(set(li))
    li_new.sort()
    n=len(li_new)
    lst = li_new[:n-3]
    print(lst)
    [11, 22, 33, 44, 55, 77, 88, 99]
    [11, 22, 33, 44, 55]
    [11, 22, 33, 44, 55]
    [11, 22, 33, 44, 55]

    この問題の考察の知識点:集合は重くするために使われる.
     
    14.データ型変換辞書
    次のデータがあります.
    t1 = ("aa",11)     
    t2= (''bb'',22)   
    li1 = [("cc",11)]
    学習した知識点を通じて、関連操作を以下の辞書に変えてください:{“aa”:11、“cc”:11、“bb”:22}:
     
    #  1 extend()
    a,b,c = t1,li1[0],t2
    list = []
    list.extend([a,b,c])
    print(dict(list))
    {'aa': 11, 'cc': 11, 'bb': 22}
    #  2
    t1 = ('aa',11)
    t2 = ('bb',22)
    li1 = [('cc',11)]
    li1.insert(0,t1)
    li1.insert(2,t2)
    print(dict(li1))
    {'aa': 11, 'cc': 11, 'bb': 22}
    #  3
    ti = ("aa",11)
    t2 = ("bb",22)
    li1 = [("cc",11)]
    new_dict = {}
    new_dict[t1[0]] = t1[1]
    new_dict[t2[0]] = t2[1]
    new_dict[li1[0][0]] = li1[1]
    {'aa': 11, 'cc': 11, 'bb': 22}

    どの方法もマスターしなければなりません!
     
    15.判断による価格計算
    あるデパートは値下げセール中で、すべての原価は整数(浮動小数点を考慮する必要はありません)で、購入金額が50-100元(50元と100元を含む)の間にあれば、
    10%の割引で、購入金額が100元以上の場合は20%の割引になります.購入価格を尋ね、割引(%10または20%)と最終価格を表示するプログラムを作成します.
    price = int(input('       :'))
    if price >= 50 and price <= 100:
        price_sale = price * (1 - 0.1)
        #  format(price_sale,'.2f')  ,       
        print('   :10%,     :{} 。'.format(format(price_sale,'.2f')))
    elif price > 100:
        price_sale = price * (1 - 0.2)
        print('   :20%,     :{} 。'.format(format(price_sale,'.1f')))
    else:
        print('    ,     :{} 。'.format(price))
    
           :111
       :20%,     :88.8 。

    小数点を取ることに注意する必要があります.
     
    16.閏年かどうかを判断する
  • 有効年(例:2019)を入力し、閏年(数字以外の状況を考慮する必要はない)
  • であるかどうかを判断する
  • うるう年であれば「2019年はうるう年」と印刷します.そうでなければ「2019年は閏年ではない」
  • を印刷します.
    year = int(input('         ( :2019):'))
    #      :        4  
    if year % 4 == 0:
        #    100  ,    400   ,   
        if year % 100 == 0 and year % 400 != 0:
            print('  {}     。'.format(year))
        else:
            print('  {}    。'.format(year))
    else:
        print('  {}     。'.format(year))
        1   :190
        2   :210
        3   :65
        :210
    #  2
    year = int(input("          :"))
    if year % 4 == 0:
        if year % 100 == 0:
            if year % 400 == 0:
                print("   ")
            else:
                print("    ")
        else:
            print("   ")
    else:
        print("    ")

    閏年の2つの判断条件:年数は4で除かれ、年は100で除かれ、同時に400で除かれる.方法はたくさんありますが、ここでは一つだけ挙げます.
     
    17.数字の最大値を求める
    3つの整数の中の最大値を求めて、ヒント:3つの変数を定義します.
    a = int(input("    1   :"))
    b = int(input("    2   :"))
    c = int(input("    3   :"))
    
    if a >= b and a >= c:
        print("    :{}".format(a))
    elif b >= a and b >= c:
        print("    :{}".format(b))
    else:
        print("    :{}".format(c))
        1   :190
        2   :210
        3   :65
        :210

    もちろんここではmax関数を使うことができて、もっと簡単です.
    a = int(input("    1   :"))
    b = int(input("    2   :"))
    c = int(input("    3   :"))
    print(max(a,b,c))
        1   :3
        2   :2
        3   :1
    3

     
    18.forを使用して九九乗算表を印刷する
    九九乗算表を出力します.フォーマットは以下の通りです.(各データの間にTabキーが1つ空いています.「t」を使用できます)
    #x    
    for x in range(1,10):
        #y   
        for y in range(1,x + 1):
            print(y, 'x' ,x ,'=',x*y,end='\t')
        print('')
    1 x 1 = 1	
    1 x 2 = 2	2 x 2 = 4	
    1 x 3 = 3	2 x 3 = 6	3 x 3 = 9	
    1 x 4 = 4	2 x 4 = 8	3 x 4 = 12	4 x 4 = 16	
    1 x 5 = 5	2 x 5 = 10	3 x 5 = 15	4 x 5 = 20	5 x 5 = 25	
    1 x 6 = 6	2 x 6 = 12	3 x 6 = 18	4 x 6 = 24	5 x 6 = 30	6 x 6 = 36	
    1 x 7 = 7	2 x 7 = 14	3 x 7 = 21	4 x 7 = 28	5 x 7 = 35	6 x 7 = 42	7 x 7 = 49	
    1 x 8 = 8	2 x 8 = 16	3 x 8 = 24	4 x 8 = 32	5 x 8 = 40	6 x 8 = 48	7 x 8 = 56	8 x 8 = 64	
    1 x 9 = 9	2 x 9 = 18	3 x 9 = 27	4 x 9 = 36	5 x 9 = 45	6 x 9 = 54	7 x 9 = 63	8 x 9 = 72	9 x 9 = 81	

    乗算表はあまり述べませんが、面接は必須です.
     
    19.要素の循環削除
    あなたの微信の友达の中には5つのセールスがあります.彼らはリストblackがあります.List=[「お茶を売る」「マスクを売る」「保険を売る」「ピーナッツを売る」「携帯電話を売る」
    この5人をブラックから順にリストから削除し、最後にblack_リストが空です.
    black_list = ['   ', '   ', '   ', '   ', '   ']
    print(black_list)
    length = len(black_list)
    for i in range(length):
        black_list.pop()
    print(black_list)
    ['   ', '   ', '   ', '   ', '   ']
    []

     
    以上が「Python実戦10-19例」のすべての内容であり、本シリーズは更新を続け、いずれも精選された品質問題である.
    オリジナルは容易ではありません.転載は原作者を明記してください.好きなら褒めてフォローしてください、応援ありがとうございます!