如何用Python生成10个不重复两位随机整数并计算各值的立方
代码修正说明
原有代码问题
- 两位整数取值范围错误:
r.randint(10,100)会生成包含100的数值,100为三位整数,符合要求的两位整数取值范围是10~99 - 无去重逻辑:循环调用
randint生成的随机数可能出现重复,无法满足10个不重复的要求 - 变量名冲突:导入math库时设置别名为
i,列表推导式的循环变量也使用i,会覆盖math库的别名 - 方法调用错误:
math.pow需要传入「底数、指数」两个参数,不支持直接传入整个列表运算
修正后代码
import random as r # 生成10个不重复的两位随机整数 random_nums = r.sample(range(10, 100), 10) # 计算每个数的立方 cube_nums = [num ** 3 for num in random_nums] print("随机两位整数列表:", random_nums) print("对应立方结果列表:", cube_nums)
补充说明
使用random.sample可以直接从指定序列中取出指定数量的不重复随机元素,刚好匹配需求。立方计算直接使用Python原生运算符**3即可实现,不需要额外引入math库,可简化代码逻辑。
内容的提问来源于stack exchange,提问作者Paul
相关产品推荐
相关产品推荐

