首页 > 解决方案 > 创建给定范围内的数字平方列表

问题描述

编辑:对不起,我的意思是使用幂函数,而不是平方,我希望这可以清除它

我是 python 的新手,我正在尝试创建一个函数,让用户输入 x 和 y 并在循环中给出这些数字的幂的输出,因此create_list(2,8)返回 list [1,2,4,8,16,32,64,128,256]

到目前为止我有这个代码,但我觉得它的方式很遥远,因为它只允许 1 个输入,而我正在寻找 2

import math

a=int(input())
while a<=10000:
  print (a)
  a=a*2

一个示例输出是如果 a=4,则输出:

4
8
16
32
64
128
256
512
1024
2048
4096
8192

标签: pythonlist

解决方案


[ x * x for x in range (int(input("lower bound")), int(input("upper bound")))]

以上是列表理解。它获取范围内的每个元素并通过变量 x 访问它。左边的表达式实际上最终会出现在列表中。例如,设置 x + 1 将导致存储一个大于 x 的值 1。

输入是从左到右评估的,因此您可以直接将它们作为参数放入 range 函数。

评估顺序为:

调用“下限”输入

转换为 int

如上右输入

评估范围

运行列表理解


推荐阅读