编辑:对不起,伙计们,我的意思是使用幂函数,而不是平方,我希望这能解决问题
我是 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
答案 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
函数迭代 b
和 range(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 个数字 x
和 y
作为输入并给出您的输出,无论它们如何传递给函数:
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)