一尘不染

将pi打印到小数位数

python

w3resources的挑战之一是将pi打印到“ n”个小数位。这是我的代码:

from math import pi

fraser = str(pi)

length_of_pi = []

number_of_places = raw_input("Enter the number of decimal places you want to 
see: ")

for number_of_places in fraser:
    length_of_pi.append(str(number_of_places))

print "".join(length_of_pi)

无论出于何种原因,它都会自动打印pi,而无需考虑任何输入。任何帮助将是巨大的:)


阅读 321

收藏
2021-01-20

共1个答案

一尘不染

为什么不只format使用number_of_places

''.format(pi)
>>> format(pi, '.4f')
'3.1416'
>>> format(pi, '.14f')
'3.14159265358979'

更一般地说:

>>> number_of_places = 6
>>> '{:.{}f}'.format(pi, number_of_places)
'3.141593'

在您的原始方法中,我想您正在尝试使用多个数字number_of_places作为循环的控制变量,这很容易理解,但在您的情况下不起作用,因为number_of_digits从未使用过用户输入的首字母。而是由pi字符串中的iteratee值代替。

2021-01-20