# List(1) - Exercise
###### tags: `Python HomeWork`
**例**:着ぐるみのバイトの求人には幾つの条件があります。特に着ぐるみ自体の大きさが決まっているので身長制限があります。とある会社の求人には、160センチ以下が好ましいと書いていて、もし153センチの杏奈が応募したら果たしてTrueなのかFalseなのか、プログラミングで出力してください。
```
杏奈の身長を表す変数を利用して比較してください
annaHigh = 153
出力例:
True
```
:::info
code:
```python=
annaHigh = 153
print( annaHigh <= 160 )
```
答え:

:::
--------------------------------------------
## 問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)
```
結果:

:::
## 問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))
```
結果:


:::
## 問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)
```
結果:

:::
## 問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
```
結果:


:::
## 練習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))
```
結果:

:::
## 練習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])
```
結果:

:::
## 練習3
:::info
code:
```python=
#要素のindexを調べる
languages=["Python","C++","Java","PHP"]
print(languages.index("Python"))
print(languages.index("PHP"))
```
結果:

:::
## 練習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)
```
結果:

:::
## 練習5
:::info
code:
```python=
#要素の追加
languages=["Python","C++","Java"]
languages.append(30)
print(languages)
```
結果:

:::
## 練習6
:::info
code:
```python=
a=[0]*5
print(a)
b=["Python"]*3
print(b)
```
結果:

:::
## 練習7
:::info
code:
```python=
```
結果:
:::