创建给定范围内的数字平方列表

时间:2021-03-29 07:30:07

标签: python list

编辑:对不起,伙计们,我的意思是使用幂函数,而不是平方,我希望这能解决问题

我是 python 的新手,我正在尝试创建一个函数,让用户输入 x 和 y 并在循环中给出这些数字的幂的输出,所以 create_list(2,8) 返回列表[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

5 个答案:

答案 0 :(得分:0)

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

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

输入从左到右求值,因此您可以直接将它们作为范围函数的参数。

评估顺序是:

调用'下界'输入

转换为整数

如上右输入

评估范围

运行列表理解

答案 1 :(得分:0)

首先,使用 input() 函数两次让用户输入两个数字。

使用公式 square = x * x(而不是 x*2)来计算平方。

使用 a 函数迭代 brange(a, b) 之间的所有数字。

收集列表中的所有平方数,然后打印列表。

a = int(input())
b = int(input())

squares = []

for i in range(a, b):
    square = i * i
    squares.append(square)

print(squares)

一行中更pythonic的方式:

squares = [i*i for i in range (a,b)]
print(squares)

答案 2 :(得分:0)

a=int(input())
b=int(input())

def create_list(a,b):
    return [a**i for i in range(b+1)]

print(create_list(a,b))

create_list(2,8) 的输出

[1, 2, 4, 8, 16, 32, 64, 128, 256]

答案 3 :(得分:0)

您可以使用 python pow 函数

import math


def get_powers(power, length):
    return [int(math.pow(power, x)) for x in range(1, length + 1)]


power_input = int(input('power:'))
length_input = int(input('length:'))

print(get_powers(power_input, length_input))

运行

power:3
length:5
[3, 9, 27, 81, 243]

答案 4 :(得分:0)

前面的答案已经解释了如何解决您的问题,这里我解释了如何创建一个函数。请注意,对于像 power 这样的简单操作,您不需要 import math。使用以下代码,您可以定义一个函数 create_list(x, y),它将 2 个数字 xy 作为输入并给出您的输出,无论它们如何传递给函数:

def create_list(x, y):
    my_list = []
    for i in range(y+1):
        my_list.append(x**i)
    return my_list

之后,您可以通过编程方式给出数字来调用create_list函数(可能它们是之前操作的结果),但是如果您想通过键盘显式给出它们,请使用以下代码:

x = int(input())
y = int(input())

my_list = create_list(x,y)

print(my_list)