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

Python循环中如何将值存入元组?求随机数均值报错求助

问题解决:生成6位随机数并存入元组计算均值

错误原因分析

你碰到的TypeError: 'tuple' object is not callable问题,核心原因有两个:

  • 元组是不可变类型,不能用tup()这种函数调用的语法去修改它,()是用来执行函数的,而tup是元组对象,不是函数。
  • 你想用tup()==(tup,x)添加元素的写法完全错误,元组不能直接修改,只能通过生成新元组的方式追加元素。
  • 另外计算均值的代码不该放在循环里,得等6个随机数全部收集完成后再计算才合理。

修正后的代码

import random as r
import statistics as s

i = 1
tup = ()
while i <= 6:
    x = r.randrange(100000, 999999, 500)
    # 生成新元组并追加元素,重新赋值给原变量
    tup = tup + (x,)
    print(x)
    i = i + 1

# 循环结束后计算并打印均值
y = s.mean(tup)
print("均值为:", y)

额外优化建议

其实用列表收集元素更高效,因为列表是可变类型,用append()方法添加元素更方便,最后转成元组也很简单:

import random as r
import statistics as s

nums = []
# 用for循环替代while,无需手动维护计数器
for _ in range(6):
    x = r.randrange(100000, 999999, 500)
    nums.append(x)
    print(x)

tup = tuple(nums)
y = s.mean(tup)
print("均值为:", y)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 03:40:29