我不得不编写一个用3种不同算法计算Pi的程序.我使用Chudnovsky公式作为我的第三种算法,它是一个oneliner.为了便于阅读,我的老师问我是否可以将它分成多行.
代码如下所示:
iteration_sum += ((-1)**k)*(Decimal((factorial(6*k)))/(Decimal((factorial(k)**3))*Decimal((factorial(3*k))))*(13591409+545140134*k)/(640320**(3*k)))
Run Code Online (Sandbox Code Playgroud)
如果我可以在......)))/(十进制((...
感谢您的帮助.
史蒂夫
小智 6
你可以在这里找到你的答案。http://code.runnable.com/UqBbr4-VwoAMAAUN/how-to-write-multiline-statements-in-python
将您的代码行分成几行并将 \ 放在每行的末尾。
print "this statement " + \
"goes " + \
"beyond " + \
"one " + \
"line " + \
"but gets printed as a single line"
Run Code Online (Sandbox Code Playgroud)
你需要遵循python PEP 0008 - Python Code样式指南.
更具体地说,最大线长
将所有行限制为最多79个字符.
花一些时间阅读它并熟悉它.例如:
with open('/path/to/some/file/you/want/to/read') as file_1, \
open('/path/to/some/file/being/written', 'w') as file_2:
file_2.write(file_1.read())
Run Code Online (Sandbox Code Playgroud)
请注意\在逗号后面指示下一行的延续.
根据您的示例,它归结为首选项,但最好在运算符之后执行:
iteration_sum += ((-1)**k)*(Decimal((factorial(6*k)))/
(Decimal((factorial(k)**3))*Decimal((factorial(3*k))))*
(13591409+545140134*k)/(640320**(3*k)))
Run Code Online (Sandbox Code Playgroud)
额外的缩进表示它们在((-1)**k)*(可读性之后落下.
| 归档时间: |
|
| 查看次数: |
3026 次 |
| 最近记录: |