内容
割り勘ツールをつくろう.金額と,人数,割引券をキーボードから入力し,
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)
応用編
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], 最終的な割り勘額))