12月3日(関数)

ページ名:12月3日

関数:プログラムをひとかたまりにしたもの

 

def zeikomi(zeinuki):
    kakaku = zeinuki * 1.1
    return kakaku

print(zeikomi(1000))
print(zeikomi(1200))

2つの引数をとる関数

def zeikomi(zeinuki, is_food):
    if is_food:
        kakaku = zeinuki * 1.08
    else:
        kakaku = zeinuki * 1.1
    return kakaku

print(zeikomi(1000, True))
print(zeikomi(1000, False))

Boolean(ブーリアン)型

True(トゥルー;真)
False(フォールス;偽)

3つの引数をとる関数

def zeikomi(zeinuki, is_food, is_eatin):
    if is_food and not(is_eatin):
        kakaku = zeinuki * 1.08
    else:
        kakaku = zeinuki * 1.1
    return kakaku

print(zeikomi(1000, False, False))
print(zeikomi(1000, True, False))
print(zeikomi(1000, True, True))

デフォルト引数


def zeikomi(zeinuki,
          is_food = False, is_eatin = False):
    if is_food and not(is_eatin):
        kakaku = zeinuki * 1.08
    else:
        kakaku = zeinuki * 1.1
    return kakaku

print(zeikomi(1000)) #第2、第3引数を省略
print(zeikomi(1000, True)) #第3引数を省略
print(zeikomi(1000, True, True))


引数をとらない関数


def inu():
    return 'ワンワン'

def neko():
    return 'ニャーニャー'

def niwatori():
    return 'コケコッコー'

print(inu() + neko() + inu() + neko() + niwatori())

練習問題1


①ユーザーが入力した値段に対して、税込価格を表示するプログラムを書きなさい。非食品とする。zeikomiとinputを使うこと。


def zeikomi(zeinuki, is_food = False, is_eatin = False):
    if is_food and not(is_eatin):
        kakaku = zeinuki * 1.08
    else:
        kakaku = zeinuki * 1.1
    return kakaku

nuki = int(input('税抜き価格は?'))
komi = zeikomi(nuki)
print('税込' + str(komi) + '円です')

*②税込価格を引数とし、税抜価格を戻り値とする関数を作りなさい。それを使ったプログラムも書きなさい。

def zeinuki(zeikomi, is_food = False, is_eatin = False):
    if is_food and not(is_eatin):
        kakaku = zeikomi / 1.08
    else:
        kakaku = zeikomi / 1.1
    return kakaku

komi = int(input('税込価格は?'))
nuki = zeinuki(komi)
print('税抜' + str(nuki) + '円です')

応用:文字列をブーリアン型にする

def j2b(j): #はい⇒True, いいえ⇒False
    if j == 'はい':
        return bool(1) #True
    else:
        return bool(0) #False
 
is_food = j2b(input('食品ですか'))
is_eatin = j2b(input('店内でお召し上がりですか'))
zeinuki = int(input('税抜き価格は'))
zeikomi = zeikomi(zeinuki, is_food, is_eatin)
print(zeikomi)
 
関数の組み合わせ

def zeikomi(zeinuki, is_food = False, is_eatin = False):
    if is_food and not(is_eatin):
        kakaku = zeinuki * 1.08
    else:
        kakaku = zeinuki * 1.1
    return kakaku

def point(yen): #100円で1ポイント。日曜はポイント2倍
    p = int(yen / 100) * 1
    return p

zeinuki = int(input('税抜価格は'))

zeikomi = zeikomi(zeinuki)
point = point(zeikomi)
print('税込価格は' + str(zeikomi) + '円, ポイントは' + str(point) + 'p。')

練習問題:

日曜日はポイント2倍デーになりました。
*point関数を書き換えなさい。さらに、ユーザーが曜日を入力できるようにしなさい。
 
def point(yen, youbi): #100円で1ポイント
    p = int(yen / 100) * 1
    if youbi == '日曜日':
        p *= 2
    return p
 
zeinuki = int(input('税抜価格は'))
youbi = input('曜日は?')
zeikomi = zeikomi(zeinuki)
point = point(zeikomi, youbi)
print('税込価格は' + str(zeikomi) + ', ポイントは' + str(point) + 'p')
 

 

 

コメント

返信元返信をやめる

※ 悪質なユーザーの書き込みは制限します。

最新を表示する