python - 如何将定义函数的输出转换为列表?
问题描述
所以我有下面的代码,我的目标是列出猫 = 10,100,1,0,21 和 321 的情况,所以我想从简单的开始做猫 = 10。输出总是一个数字的平方,所以当cats = 10时,输出应打印在列表“[1,4,9]”中,当cats = 21时,输出应为“[1,4,9,16]”等,所以当cats = n时列表中不应有大于 n 的数字。实际输出例如 1 4 9 但打印在单独的行上,但如前所述,我希望它们在列表中。我也尝试了数组,但不幸的是没有运气。
CATS = 10
def test(cats=CATS):
x=1
n=1
while cats>=n:
print(n)
x+=1
n+=1
n=x**2
test()
# [x*x for x in range(1,4)] is unfortunately not an option
解决方案
此代码将有助于您解释的功能:
def print_squares(num):
print([i*i for i in range(1, num) if i*i < num])
numbers = [10,100,1,0,21, 321]
print_squares(numbers[4])
print_squares(numbers[0])
输出:
>>> numbers = [10,100,1,0,21, 321]
>>> print_squares(numbers[4])
[1, 4, 9, 16]
>>> print_squares(numbers[0])
[1, 4, 9]
>>>
推荐阅读
- python - 将 Pyspark Python k-means 模型预测插入具有原始 RDD 项和特征的 DF
- python - 合并 DataFrame 及其总数
- android - IDEA 无法识别多平台项目中的 Android 模块
- javascript - 反应尝试导入
- qt - 数字后显示小数
- excel - 将新数据附加到 Power Query 中的先前查询
- python - Python `in` 是否使用 Knuth-Morris-Pratt 算法?
- java - 如何编写一个看起来像 PNG 文件的 XML 文件?
- java - 如何在二次筛技术的筛分步骤中使用对数
- mysql - 无法从 Node.js 连接到 MySql 服务器