Pythonを勉強したので、簡単な金額計算をしてみました

#はじめに
未来電子でインターンシップをしているにのみやです。
Pythonで学んだことをアウトプットしていきます。

#本題
たこ焼きの種類と買う個数を選んで、合計金額がいくらになるかを計算する簡単なものを作ってみました。
個数によって割引きされるようにしています。
今回、main.pyとoosaka_rounding.pyとmenu_item.pyの三つのファイルに分けて作ってみました。



```python:main.py

from oosaka_rounding import OosakaRounding

oosaka_rounding1 = OosakaRounding("たこ焼き", 50, "ソースマヨ")
oosaka_rounding2 = OosakaRounding("たこ焼き", 55, "ポン酢")
oosaka_rounding3 = OosakaRounding("明石焼き", 60, "出汁")

oosaka_roundings = [oosaka_rounding1, oosaka_rounding2, oosaka_rounding3]

print("メニュー")

index=0
for oosaka_rounding in oosaka_roundings:
    print(str(index) + ". "+ oosaka_rounding.info())
    index += 1

print("--------------------------")

order = int(input("何番を買いますか？"))
selected_menu= oosaka_roundings[order]

count = int(input("何個買いますか？"))
print("合計金額は"+str(selected_menu.get_total_price(count))+"円です")
```


```python:oosaka_rounding.py

from menu_item import MenuItem
class OosakaRounding(MenuItem):
    def __init__(self, name, price,taste):
         super().__init__(name, price)
         self.taste = taste
    def info(self):
        return self.name + "は一個" + str(self.price) + "円です。10個以上買うと割引があります。味付け:" + self.taste
```


```python:menu_item.py
↑↑↑↑↑↑↑ 編集リクエストの内容
class MenuItem:
    def __init__(self, name, price):
        self.name = name
        self.price = price
    
    def info(self):
        return self.name + ": ¥" + str(self.price)
    
    def get_total_price(self, count):
        total_price = self.price*count

        if count >= 10000:
            print("一万個以上なので四割引です")
            total_price *= 0.6

        elif count >= 1000:
            print("千個以上なので三割引です")
            total_price *= 0.7

        elif count >= 100:
            print("百個以上なので二割引です")
            total_price *= 0.8

        elif count >= 10:
            print("十個以上なので一割引きです")
            total_price *= 0.9

        return round(total_price)
```

##実行すると

```zsh

メニュー
0. たこ焼きは一個50円です。10個以上買うと割引があります。味付け:ソースマヨ
1. たこ焼きは一個55円です。10個以上買うと割引があります。味付け:ポン酢
2. 明石焼きは一個60円です。10個以上買うと割引があります。味付け:出汁
--------------------------
何番を買いますか？1
何個買いますか？4444
千個以上なので三割引です
合計金額は171094円です
```

このように実行することができました。
最初、main.pyの最後から二行目

```python:main.py
count = int(input("何個買いますか？"))
```

この部分の最後のカッコを忘れていて、ずっとエラーが起きていました。
初歩的なミスを減らしていきたいです。

#おわりに
私はプログラミング初心者なので、間違いが多くあると思います。
もし何か間違いや、効率よくできる部分を見つけた際は、ぜひ教えてください！

#追記
間違いの指摘がありましたので、追記します。


```python:menu_item.py
if count > 10000:
            print("一万個以上なので四割引です")
            total_price *= 0.6

        elif count > 1000:
            print("千個以上なので三割引です")
            total_price *= 0.7

        elif count > 100:
            print("百個以上なので二割引です")
            total_price *= 0.8

        elif count > 10:
            print("十個以上なので一割引きです")
            total_price *= 0.9

```
この部分に関して、~以上ですのでcount >= 10000が正しいです。1000個、100個、10個についても同様です。

```python:menu_item.py
if count >= 10000:
            print("一万個以上なので四割引です")
            total_price *= 0.6

        elif count >= 1000:
            print("千個以上なので三割引です")
            total_price *= 0.7

        elif count >= 100:
            print("百個以上なので二割引です")
            total_price *= 0.8

        elif count >= 10:
            print("十個以上なので一割引きです")
            total_price *= 0.9
```