🐍

割り勘ツールを作る

内容

割り勘ツールをつくろう.金額と,人数,割引券をキーボードから入力し, 1 人あたり何円払うかと,その上で何円不足するかを表示しよう. 例えば,13547 円を4 人で払い,全体で1000 円分の割引券を持っていたとすると, 1 人3136 円払って3 円不足する.Pythonのプログラムを書いて、 他人にわかってもらうために、コメントを入れてください。

課題1

import math pay = int(input('金額を入力してください: ')) personNum = int(input('人数を入力してください: ')) coupon = int(input('クーポンを入力してください: ')) splitPay = math.ceil((pay - coupon) // personNum) print('割り勘額:', splitPay) print('不足額:', pay - (splitPay * personNum) - coupon)

応用編

  • 人数可変のルーレット付き
  • 名前入力に対応
  • 名前の最後に”様”を入れると偉い人に昇格できる
  • 偉い人に1.5倍払わせることができる
import random as rand import math personList = [] 不足額おごる人 = '' えらい人の数 = 0 えらい人index = [] 金額 = int(input('合計お支払い金額を入力してください: ')) 人数 = int(input('割り勘人数を入力してください: ')) print("\n\n名前を入力してください。多く払わせたい人に「様」をつけて「偉い人」に昇格させましょう (例: 小林様)\n") for i in range(人数): person = str(input('%d人目の人を入力してください。' % (i+1))) if person.find('様') != -1: えらい人の数 += 1 えらい人index.append(i) personList.append(person) クーポン = int(input('\nクーポンをお持ちでしたら、クーポンの金額を入力してください: ')) 支払額 = 金額 - クーポン 割り勘額 = 支払額 // 人数 偉い人の割り勘額 = 割り勘額 * 1.5 最終的な割り勘額 = (支払額 - 偉い人の割り勘額 * えらい人の数) // (人数 - えらい人の数) 不足額 = math.ceil(金額-クーポン - (最終的な割り勘額 * (人数-えらい人の数)) - 偉い人の割り勘額 * えらい人の数) print('\n---------------------------------') print('\n割り勘額は%d円です' % 最終的な割り勘額) print('偉い人の割り勘額は%d円です:' % 偉い人の割り勘額) print('不足額は%d円でした' % 不足額) if(不足額 > 0): print('不足額を支払う人をルーレットで決めます!') input('ルーレットスタート!(press any key to start)') print('\n---------------------------------') print('---------------------------------') 不足額おごる人 = personList[rand.randint(0, 人数-1)] print('ルーレット終了!') print('残り%d円のお支払いは %sさん にしてもらいます!' % (不足額, 不足額おごる人)) print('\n---------------------------------\n') # 13547 for i in range(人数): if i in えらい人index: print('%sは、%d円を割り勘しました!' % (personList[i], 偉い人の割り勘額)) elif personList[i] == 不足額おごる人: print('%sさんは、%d円を割り勘しました!(端数%d円)' % (personList[i], 最終的な割り勘額 + 不足額, 不足額)) else: print('%sさんは、%d円を割り勘しました!' % (personList[i], 最終的な割り勘額))