Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python编程缩进问题_Python - Fatal编程技术网

Python编程缩进问题

Python编程缩进问题,python,Python,我想知道是否有人能读懂这段代码并告诉我为什么会发生这种情况。我不可能是第一个遇到这个问题的人,但我环顾四周,在书中或其他地方都找不到答案 这一定是小事,但我看不出来 # This program will find and calculte the radius # area and circumference of a circle. def main(): print('Radius\tArea\tCircumference') print('---------------

我想知道是否有人能读懂这段代码并告诉我为什么会发生这种情况。我不可能是第一个遇到这个问题的人,但我环顾四周,在书中或其他地方都找不到答案

这一定是小事,但我看不出来

# This program will find and calculte the radius
# area and circumference of a circle.

def main():
    print('Radius\tArea\tCircumference')
    print('----------------------------')
    print()
    for radius in range(1, 11):
        for area in range(1, 11):
            for circumference in range(1, 11):
                pi = 3.14
                diameter = radius * 2
                radius = diameter / 2
                area = pi * radius**2
                circumference = (2 * pi) * radius

        print(radius, '\t', area, '\t',format(circumference, '.2f'))



main()
输出:

半径面积周长
----------------------------
1.0      3.14    6.28
2.0      12.56   12.56
3.0      28.26   18.84
4.0      50.24   25.12
5.0      78.5    31.40
6.0      113.04      37.68
7.0      153.86      43.96
8.0      200.96      50.24
9.0      254.34      56.52
10.0     314.0   62.80
>>> 

out put在前两列中是对齐的,但第三列中的十个输出中有四个看起来是右键对齐的

为了确保对齐,您可以首先将每个数字设置为固定宽度的字符串

def main():
    print('Radius\tArea\tCircumference')
    print('----------------------------')
    print()
    for radius in range(1, 11):
        for area in range(1, 11):
            for circumference in range(1, 11):
                pi = 3.14
                diameter = radius * 2
                radius = diameter / 2
                area = pi * radius**2
                circumference = (2 * pi) * radius

        #print(radius, '\t', area, '\t' , format(circumference, ".2f"))
        radius_str        = "%0.2f" % radius
        area_str          = "%0.2f" % area
        circumference_str = "%0.2f" % circumference
        print("%6s\t%6s\t%6s" % (radius_str, area_str, circumference_str))

main()
输出:

Radius  Area    Circumference
----------------------------

  1.00    3.14    6.28
  2.00   12.56   12.56
  3.00   28.26   18.84
  4.00   50.24   25.12
  5.00   78.50   31.40
  6.00  113.04   37.68
  7.00  153.86   43.96
  8.00  200.96   50.24
  9.00  254.34   56.52
 10.00  314.00   62.80

为了确保对齐,可以首先将每个数字设置为固定宽度的字符串

def main():
    print('Radius\tArea\tCircumference')
    print('----------------------------')
    print()
    for radius in range(1, 11):
        for area in range(1, 11):
            for circumference in range(1, 11):
                pi = 3.14
                diameter = radius * 2
                radius = diameter / 2
                area = pi * radius**2
                circumference = (2 * pi) * radius

        #print(radius, '\t', area, '\t' , format(circumference, ".2f"))
        radius_str        = "%0.2f" % radius
        area_str          = "%0.2f" % area
        circumference_str = "%0.2f" % circumference
        print("%6s\t%6s\t%6s" % (radius_str, area_str, circumference_str))

main()
输出:

Radius  Area    Circumference
----------------------------

  1.00    3.14    6.28
  2.00   12.56   12.56
  3.00   28.26   18.84
  4.00   50.24   25.12
  5.00   78.50   31.40
  6.00  113.04   37.68
  7.00  153.86   43.96
  8.00  200.96   50.24
  9.00  254.34   56.52
 10.00  314.00   62.80

这是tab(
'\t'
)的工作方式和Python的工作方式的组合。默认情况下,
print
在打印的每个项目之间插入一个空格,因此(例如)第6行实际打印的内容是:

6.0<SPACE><TAB><SPACE>113.04<SPACE><TAB><SPACE>37.68

这是tab(
'\t'
)的工作方式和Python的工作方式的组合。默认情况下,
print
在打印的每个项目之间插入一个空格,因此(例如)第6行实际打印的内容是:

6.0<SPACE><TAB><SPACE>113.04<SPACE><TAB><SPACE>37.68

您需要使用字符串格式来确保列之间的间距一致:

line = '{:>12}  {:>12}  {:>12}'.format(radius, area, format(circumference, '.2f'))
print(line)
值12表示每个列(包括其中的文本)将有12个字符宽


以下是对

的正式引用。您需要使用字符串格式来确保列之间的间距一致:

line = '{:>12}  {:>12}  {:>12}'.format(radius, area, format(circumference, '.2f'))
print(line)
值12表示每个列(包括其中的文本)将有12个字符宽


这里是对

的正式引用,您需要调整输出


print(“{:您需要对输出进行对齐


print('{:我重新整理了你的代码,现在可以了

def main():
print('Radius\tArea\tCircumference')
print('----------------------------')
print()
for radius in range(1, 11):
    for area in range(1, 11):
        for circumference in range(1, 11):
            pi = 3.14
            diameter = radius * 2
            radius = diameter / 2
            area = pi * radius**2
            circumference = (2 * pi) * radius

    print(radius, '\t', format(area, '.2f')+'\t ' ,format(circumference, '.2f'))

我重新整理了你的代码,现在可以了

def main():
print('Radius\tArea\tCircumference')
print('----------------------------')
print()
for radius in range(1, 11):
    for area in range(1, 11):
        for circumference in range(1, 11):
            pi = 3.14
            diameter = radius * 2
            radius = diameter / 2
            area = pi * radius**2
            circumference = (2 * pi) * radius

    print(radius, '\t', format(area, '.2f')+'\t ' ,format(circumference, '.2f'))

你是如何运行它的,在什么操作系统上运行的?我在Windows 8.1上运行,我在使用Python解释器。你为什么使用。对于lop for Circonfrence?这是必需的吗?代码没有问题,这只是
\t
的工作方式。你是如何运行它的,在什么操作系统上运行的?我在Windows 8.1上运行,我在使用Python解释器。为什么u使用。对于lop for Circonfrence?是否需要代码没有问题,这就是
\t
的工作方式。或者可能只是指定
sep='\t'
并去掉显式
'\t'
项。或者可能只是指定
sep='\t'
并去掉显式
'\t'
项。这是有效的,但现在是只有周长是格式化的“.2f”。我能把它们都格式化成那样吗?我试过了,但它没有像我试过的那样工作,但确实有效。我个人喜欢这种格式,但请注意,这不是你在其他答案中看到的新样式python格式。你可以将这种样式称为“printf”格式化。这是可行的,但现在只有周长被格式化为“.2f”。我能把它们都格式化成那样吗?我试过了,但它没有像我试过的那样工作,但确实有效。我个人喜欢这种格式,但请注意,这不是你在其他答案中看到的新样式python格式。你可以参考这篇文章le作为“printf”格式。