# List(1) - Exercise ###### tags: `Python HomeWork` **例**:着ぐるみのバイトの求人には幾つの条件があります。特に着ぐるみ自体の大きさが決まっているので身長制限があります。とある会社の求人には、160センチ以下が好ましいと書いていて、もし153センチの杏奈が応募したら果たしてTrueなのかFalseなのか、プログラミングで出力してください。 ``` 杏奈の身長を表す変数を利用して比較してください annaHigh = 153 出力例: True ``` :::info code: ```python= annaHigh = 153 print( annaHigh <= 160 ) ``` 答え: ![](https://i.imgur.com/SM2qRLJ.png) ::: -------------------------------------------- ## 問1: ユーザーに入力させ「-1」が入力されるまで、その後にユーザーが入力した数字と入力した回数を出力表示すること。 ``` 入力出力例: input: 77 input: 283 input: 765 input: 44 input: -1 List: [77, 283, 765, 44] len: 4 ``` :::success * **listに出力しないようにする方法** 順番を意識することも一つの解決法ですが、 今 math.pow("楠",2) はすでにリストを用意することができました。必要ないもの「-1」も分かりました。つまり、「-1」がないリストを作って出力しましょう。 以下の様に、index 0 ~ 3 のもの を新しいリストにしましょう! ```python= # 0 1 2 3 List: [77, 283, 765, 44, -1] ``` ::: :::info code: ```python= """ len=0 list_empty=[] num=0 while num != -1: num=int(input("input: ")) len+=1 list_empty.append(num) else: len-=1 print("List: ",list_empty) print("len: {}".format(len)) #inputで-1が入力された後、listに出力しないようにする方法が分かりません! """ list_empty=[] list_len=0 n=0 while n!=-1: n=int(input("input: ")) if n != -1: list_empty.append(n) list_len+=1 print("List: ",list_empty) print("len: ",list_len) ``` 結果: ![](https://i.imgur.com/4KEG9gf.png) ::: ## 問2: 乱数で1~100の整数を10個生成し出力表示させ、その中での最大値と最小値を表示させること * リストを使う事 * ヒント:平均数値を小数点以下2桁まで表示する事 ``` 入力出力例1: 17 65 4 32 97 73 10 34 63 68 AVERAGE = 46.3 MAX = 97 MIN = 4 入力出力例2: 41 87 12 62 81 94 22 75 3 55 AVERAGE = 53.2 MAX = 94 MIN = 3 ``` :::success リストの出力が少し違いますよ! ::: :::info code: ```python= """ import random total=0 MAX=1 MIN=100 list_empty=[] for i in range(10): n=random.randint(1,100) list_empty.append(n) total+=n if MAX < n: MAX = n if MIN > n: MIN = n AVERAGE = total / 10 print(list_empty) print("AVERAG = {:.2f}".format(AVERAGE)) print("MAX = {}".format(MAX)) print("MIN = {}".format(MIN)) """ import random total=0 MAX=1 MIN=100 list_empty=[] for i in range(10): n=random.randint(1,100) list_empty.append(n) total+=n if i==0: MAX=n MIN=n else: if MAX < n: MAX = n if MIN > n: MIN = n for i in list_empty: print(i,end=" ") AVERAGE = total / 10 print() print("AVERAG = {:.2f}".format(AVERAGE)) print("MAX = {}".format(MAX)) print("MIN = {}".format(MIN)) ``` 結果: ![](https://i.imgur.com/eI91mk6.png) ![](https://i.imgur.com/sQAo1nH.png) ::: ## 問3: 「end」が入力されるまで、ユーザーにリストの内容を入力させます。 リストを逆の順序で出力します。 ``` 入力出力例: input: python input: c++ input: html input: php input: end original: ['python', 'c++', 'html', 'php'] reverse: ['php', 'html', 'c++', 'python'] ``` :::success まだ、**reverse**を使わなくてもいいですよ * **ヒントは「index」です。** 例えば:以下のリストがあり、indexは記述した通りです。 ``` #index 0 1 2 list=["a","b","c"] ``` 逆順にするには、要は新しいリストに、元のリストのindex「2」、「1」、「0」という順で要素を追加することです。 やってみましょう! ::: :::info code: ```python= """ list_empty=[] languages=input("input: ") while languages != "end": languages=input("input: ") list_empty.append(languages) else: print("original: ",list_empty) list_empty.reverse() print("reverse: ",list_empty) #inputでendが入力された後、listに出力しないようにする方法が分かりません! """ list_empty=[] list_new=0 while True: languages=input("input: ") if languages=="end": break list_empty.append(languages) list_new+=1 reverse_list=[] for i in range(list_new-1,-1,-1): reverse_list.append(list_empty[i]) print("original: ",list_empty) print("reverse: ",reverse_list) ``` 結果: ![](https://i.imgur.com/WlcNzCB.png) ::: ## 問4: 欲しい乱数の数(n)を入力し、1から9までのn個の乱数を生成し、最後に1から9までの各数字が何個あるかを数えます。 ``` 入力出力例: input n: 30 list: [5, 8, 2, 5, 8, 5, 2, 4, 7, 3, 5, 4, 1, 7, 8, 9, 7, 1, 4, 8, 2, 6, 9, 8, 8, 2, 6, 2, 6, 3] 1: 2 2: 5 3: 2 4: 3 5: 4 6: 3 7: 3 8: 6 9: 2 ``` :::info code: ```python= """ import random list_empty=[] num1=0 num2=0 num3=0 num4=0 num5=0 num6=0 num7=0 num8=0 num9=0 input_num=int(input("input n: ")) for i in range(input_num): n=random.randint(1,9) list_empty.append(n) if n==1: num1+=1 elif n==2: num2+=1 elif n==3: num3+=1 elif n==4: num4+=1 elif n==5: num5+=1 elif n==6: num6+=1 elif n==7: num7+=1 elif n==8: num8+=1 elif n==9: num9+=1 print("List: ",list_empty) print("1: {}".format(num1)) print("2: {}".format(num2)) print("3: {}".format(num3)) print("4: {}".format(num4)) print("5: {}".format(num5)) print("6: {}".format(num6)) print("7: {}".format(num7)) print("8: {}".format(num8)) print("9: {}".format(num9)) """ import random list_empty=[] list_count=[0]*9 input_num=int(input("input n: ")) for i in range(input_num): n=random.randint(1,9) list_count[n-1]+=1 list_empty.append(n) print("list: {}".format(list_empty)) count_i=1 for i in list_count: print("{}: {}".format(count_i,i)) count_i+=1 ``` 結果: ![](https://i.imgur.com/in2xeku.png) ![](https://i.imgur.com/Yze97Uj.png) ::: ## 練習1 :::info code: ```python= #range() range_num=range(1,10) print(range_num) print(type(range_num)) #range--->list range_list=list(range_num) print(range_list) print(type(range_list)) #string stringlist=list("タランチュラ") print(stringlist) print(type(stringlist)) ``` 結果: ![](https://i.imgur.com/xhEdbp4.png) ::: ## 練習2 :::info code: ```python= range_num=range(1,10) range_list=list(range_num) print(range_list) print(range_list[1]) print(range_list[3]) print(range_list[6]) print(range_list[-7]) ``` 結果: ![](https://i.imgur.com/sLl9U40.png) ::: ## 練習3 :::info code: ```python= #要素のindexを調べる languages=["Python","C++","Java","PHP"] print(languages.index("Python")) print(languages.index("PHP")) ``` 結果: ![](https://i.imgur.com/LKWPsRm.png) ::: ## 練習4 :::info code: ```python= a=[1,2,3] b=[4,5,6] new_list=a+b print(new_list) new_list2=new_list+[7,8,9] print(new_list2) ``` 結果: ![](https://i.imgur.com/PDswvEy.png) ::: ## 練習5 :::info code: ```python= #要素の追加 languages=["Python","C++","Java"] languages.append(30) print(languages) ``` 結果: ![](https://i.imgur.com/l0o1xT2.png) ::: ## 練習6 :::info code: ```python= a=[0]*5 print(a) b=["Python"]*3 print(b) ``` 結果: ![](https://i.imgur.com/QEVJ3VO.png) ::: ## 練習7 :::info code: ```python= ``` 結果: :::