python - 如何输出函数的输入和输出列表?
问题描述
这是我用来评估 y = (exp^(-mu) * mu**N) / (n!) for 0 <= n <= N 的当前 python 代码:
N = 10
mu = 2
n = np.arange(0, N+1)
numerator = (np.exp(-mu)) * mu**n
denominator = factorial(n)
function = numerator / denominator
print('N =', str(N), 'mu =', str(mu))
print('n = {:}'.format(n))
print('function = {:}'.format(function))
我得到的当前输出是:
N = 10 mu = 2
n = [ 0 1 2 3 4 5 6 7 8 9 10]
function = [ 1.35335283e-01 2.70670566e-01 2.70670566e-01 1.80447044e-
01
9.02235222e-02 3.60894089e-02 1.20298030e-02 3.43708656e-03
8.59271640e-04 1.90949253e-04 3.81898506e-05]
我想要的输出是一个列表,而不是一个数组。对于 n 的每个值,我想要函数的相应值。IE:
N = 10 mu = 2
n = 0, function = 1.35335283e-01
n = 1, function = 2.70670566e-01
...
n = 10, function = 3.81898506e-05
我尝试了其他方法,其中大多数都导致了以下TypeError:
print('n = {:.}'.format(n))
TypeError: non-empty format string passed to object.__format__
我已经设法使用'for'循环让它工作,但我想要一种除了循环之外的方法,因为我试图在不使用任何循环的情况下为大学做练习。有谁知道如何做到这一点?
解决方案
您可以将输出压缩在一起,但您需要填充 n 并使用循环运行。为什么是字符串?
n = [0,1,2,3,4,5,6,7,8,9,10]
function = [1.35335283e-01,2.70670566e-01,2.70670566e-01,
1.80447044e-01,9.02235222e-02,3.60894089e-02,
1.20298030e-02,3.43708656e-03,8.59271640e-04,
1.90949253e-04,3.81898506e-05]
zipped = list(zip(n,function))
zipped
Out[ ]:
[(0, 0.135335283),
(1, 0.270670566),
(2, 0.270670566),
(3, 0.180447044),
(4, 0.0902235222),
(5, 0.0360894089),
(6, 0.012029803),
(7, 0.00343708656),
(8, 0.00085927164),
(9, 0.000190949253),
(10, 3.81898506e-05)]
而且我同意不允许您使用循环打印是没有意义的要求。
for a,b in zipped:
print('n =',a,', function =',b)
Out[ ]:
n = 0 , function = 0.135335283
n = 1 , function = 0.270670566
n = 2 , function = 0.270670566
n = 3 , function = 0.180447044
n = 4 , function = 0.0902235222
n = 5 , function = 0.0360894089
n = 6 , function = 0.012029803
n = 7 , function = 0.00343708656
n = 8 , function = 0.00085927164
n = 9 , function = 0.000190949253
n = 10 , function = 3.81898506e-05
推荐阅读
- webrtc - WebRtc C++ 库对等统计报告抖动
- ios - ios - 如何在iOS SpriteKit中的每个精灵之间延迟一个组的所有精灵?
- java - 键入 char 作为数字类型
- sql - 根据另一个 id 列更新具有(列组值的 max+1)列的脚本
- scheduled-tasks - PowerShell 计划任务失败并显示错误代码:0xFFFD0000 和 4294770688 如果每天每小时运行一次
- c# - 将 8 个点转换为矩形
- flutter - 如何在 Stream 方法中转换 Future 方法以提供列表
- node.js - Vonage 文本转语音出站电话的 NodeJS 示例代码?
- java - Infinispan 9, Replicated Cache is Expiring Entries 但绝不允许将它们从 JVM 堆中删除
- dependencies - 依赖倒置 (DI) 中短语“应该依赖于抽象”的解释