You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何生成随机百分比并扣除字典中各条目对应比例的数值

实现方案

实现逻辑

  • 先修正现有代码的笔误:random.ranint 应为 random.randint,用于生成25~50区间的整数跌幅百分比
  • 给MarketCrash方法添加@staticmethod装饰器,同时新增参数接收原始股票价格字典
  • 遍历价格字典的每个条目,先计算对应数值的扣减额:扣减额 = 原价格 × (跌幅百分比/100),再用原数值减去扣减额得到新价格,结果保留2位小数更贴合实际股市价格的展示习惯

完整可运行代码

import random

# 原始股票价格字典
prices = {
    'SNAP': 84.55,
    'AAPL': 145.76,
    'TWTR': 62.25,
    'TSLA': 759.05,
    'NFLX': 587.55,
    'FB': 363.05,
    'MSFT': 299.50,
    'DIS': 182.87,
    'GPRO': 9.50,
    'SUBX': 113.41,
    'F': 13.49,
    'BABA': 160.00,
    'BAC': 40.40,
    'GE': 100.30,
    'GOOGL': 2811.00,
}

class major_events:
    @staticmethod
    def MarketCrash(original_prices):
        # 生成25-50之间的随机跌幅百分比
        market_loss = random.randint(25, 50)
        print(f"本次股灾大盘整体跌幅:{market_loss}%")
        updated_prices = {}
        for ticker, price in original_prices.items():
            # 计算单只股票扣减额
            deduction = price * (market_loss / 100)
            # 计算新价格并保留两位小数
            updated_prices[ticker] = round(price - deduction, 2)
        return updated_prices

# 调用示例
if __name__ == "__main__":
    crashed_prices = major_events.MarketCrash(prices)
    print("股灾后股票价格:")
    for ticker, new_price in crashed_prices.items():
        print(f"{ticker}: {new_price}")

内容的提问来源于stack exchange,提问作者dubber

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 15:15:05