手から出たゴミ

食って、寝て、糞をする合間で作り出されたゴミ

Python基礎の基礎

目次

  • 環境設定(Anaconda)

  • pythonの基礎

    • 文字列と数値
    • 変数
    • 条件分岐
    • ループ
  • 課題

  • 解答

Anacondaのインストール

f:id:techimaharu:20171016153527p:plainf:id:techimaharu:20171016153533p:plainf:id:techimaharu:20171016153536p:plainf:id:techimaharu:20171016153550p:plainf:id:techimaharu:20171016153553p:plainf:id:techimaharu:20171016153557p:plain

  • 動作確認

Windowsは、コマンドプロンプトを起動後

python --version

Python 3.6.2 :: Anaconda,Inc (結果)
python

>>> print("Hello")
Hello (Helloが出れば動作確認終わり)
>>> exit()

f:id:techimaharu:20171016153601p:plain
print("Hello")の実行結果

pythonの基礎

文字列と数値

  • print()で文字列や数字を出力できます

文字列の出力

print("Hello world")

数値の出力

print(9)

print(9 + 2)

print(9 - 2)

print(9 * 2)

print(9 / 2)

print(9 % 2)

* は掛け算 / は割り算 % はmod計算を行う
練習問題

5 + 2

5 x 2

5 % 2

を出力するプログラムを書け

変数

  • 変数とは、扱うデータを一時的に保存しておけるようにデータに対して名前をつけたもの
one = 1 # oneという変数に1を格納
print(one)
練習問題

my_nameという変数に自分の名前を格納し、出力しなさい

条件分岐

  • if

条件分岐文

my_os = "windows"

if my_os == "windows" : 
    print("www")

条件文を記述し、" : "をつけて改行

"=="について

演算子 記述例 意味
== a == b aとbは等しい
!= a != b aとbは等しくない
> a > b aはbより大きい
>= a >= b aはb以上
< a < b aはb未満
<= a <= b aはb以下
  • elif

if以外の条件分岐を増やす

my_os = "mac"

if my_os == "windows" :
    print("www")

elif my_os == "mac" :
    print("That's good")
  • else

ifとelif以外全て

my_os = "hehehe"

if my_os == "windows" :
    print("www")

elif my_os == "mac" :
    print("That's good")

else :
    print("Unix?")
練習問題

変数 xが10の時には"a"をそれ以外の時は"b"を出力せよ

ループ

  • for

print(0) ~ print(9)を出力せよ

for i in range(10) :
    print(i)

課題

  • 1から100までの数を出力するプログラムを書け。ただし3の倍数のときは数の代わりに「Fizz」と、5の倍数のときは「Buzz」と出力せよ

ヒント forの中でiをif文で制御

発展課題

  • 初心者と経験者の数を入力。各参加者の名前を初心者と経験者で別リストの中に格納。その後、自分の名前を入力して初心者か経験者のどちらであるかを出力せよ

変数名は、"beginner"、"beginners"、"experienced"、"experienceds"、"my_name"とする

ヒント1

  • 変数"beginner"、"experienced"にキーボードから数値を入力するプログラムを書け

検索キーワード python、入力、変数

ヒント2

  • 課題1の変数を用いて、「初心者は2人で、経験者は3人です」と出力されるプログラム一行で書け(printを一回のみ使用)

検索キーワード 変数、出力

ヒント3

  • 空リストを2つ確保し、リスト内に初心者と経験者を格納せよ

検索キーワード リスト、追加

解答例

解答例1

beginner = int(input("初心者の人数を入力してください"))
experienced = int(input("経験者の人数を入力してください"))

beginners = []
experienceds = []
for i in range(beginner):
    beginners.append(str(input("初心者の名前:")))

for i in range(experienced):
    experienceds.append(str(input("経験者の名前:")))

my_name = input("あなたの名前はなんですか?")


for i in range(max(beginner,experienced)) :
    if i < len(beginners):
        if beginners[i] == my_name :
            print(my_name + "は初心者です")
            break
    if i < len(experienceds):
        if experienceds[i] == my_name :
            print(my_name + "は経験者です")
            break
    if i == (max(beginner,experienced) - 1 ):
        print("そんな人はいないです")

解答例 2

print("beginner nummber '")
beginner = raw_input()
print("experienced nummber '")
experienced = raw_input()

print("beginner: {0}, experienced: {1}".format(beginner, experienced))

beginners = []
experienceds = []

for i in range(int(beginner)):
    print("beginners name")
    b = raw_input()
    beginners.append(b)
for i in range(int(experienced)):
    print("experienceds name")
    e = raw_input()
    experienceds.append(e)

print("Are you name?")
my_name = raw_input()
if my_name in beginners:
    print("beginner")
elif my_name in experienceds:
    print("experienced")

解答例 3

beginners = input("初心者の人数を入力してください:")
experienceds = input("経験者の人数を入力してください:")
print("初心者は" + str(beginners) + "人、経験者は" + str(experienceds) + "人です。")

b = []
e = []

for i in range(int(beginners)) :
    beginner = input("初心者の名前を入力してください:")
    b.append([beginner])
for j in range(int(experienceds)) :
    experienced = input("経験者の名前を入力してください:")
    e.append([experienced])

my_name = input("あなたの名前は何ですか?")

for p in range(int(beginners)):
    if my_name in b[p] :
        print("初心者です。")
        break
    else : 
        for q in range(int(experienceds)):
            if my_name in e[q] :
                print("経験者です。")
                break
            else :
                print("見当たりません。")