import pandas as pd
def calculate_cost(食材名, 食材カテゴリ, 単価, 入荷量, 歩留まり率, 調達費, 使用量):
    # 入荷金額の算出
    入荷金額 = 単価 * 入荷量
    
    # 調達費の加算
    if isinstance(調達費, int):  # 金額として指定された場合
        調達費金額 = 調達費
        総入荷金額 = 入荷金額 + 調達費金額
    elif isinstance(調達費, float):  # 比率として指定された場合
        調達費金額 = 入荷金額 * 調達費
        総入荷金額 = 入荷金額 + 調達費金額
    else:
        raise ValueError("調達費は金額または比率で指定してください")
    # 使用可能量の算出(歩留まり率を適用)
    使用可能量 = 入荷量 * 1000 * 歩留まり率  # kgをgに変換
    # 1gあたり単価の算出
    単位当たり単価 = 総入荷金額 / 使用可能量
    # 使用量に基づく原価金額の算出
    使用量原価金額 = 単位当たり単価 * 使用量
    # 結果をDataFrameとして表示
    result = pd.DataFrame({
        "項目": ["食材名", "カテゴリ", "単価", "入荷量", "歩留まり率", "入荷金額", "調達費", "総入荷金額", "使用可能量", "1gあたり単価", "使用量", "使用量原価金額"],
        "値": [
            食材名,
            食材カテゴリ,
            f"{単価}円",
            f"{入荷量}kg",
            f"{歩留まり率 * 100}%",
            f"{入荷金額}円",
            f"{調達費金額:.2f}円",
            f"{総入荷金額}円",
            f"{使用可能量}g",
            f"{単位当たり単価:.2f}円/g",
            f"{使用量}g",
            f"{使用量原価金額:.2f}円"
        ]
    })
    
    # 表をユーザーに表示
    import ace_tools as tools; tools.display_dataframe_to_user(name="単品原価計算結果", dataframe=result)
# 指定の食材情報で関数を実行
calculate_cost(
    食材名="まぐろ",
    食材カテゴリ="鮮魚類",
    単価=2200,  # 円
    入荷量=13.6,  # kg
    歩留まり率=0.85,
    調達費=0.07,  # 比率で指定
    使用量=20  # g
)
食材名"
 
"
食材カテゴリ"
 
"
食材の単価と入荷単位と歩留まり率"
 
"
食材の調達費"
 
"
使用量"
 
"