Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/308.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,嘿,在print语句的最后一行中,我一直看到这个语法错误。我是否错过了一些显而易见的事情,或者我只是做错了。雷达()应该以18度的步长获得距离,确实如此。然后,可视雷达()将它们显示为半圆。如果你需要更多的信息,请告诉我 def radar(): measures = {} angle = 18 servo(0) for x in range(9): servo(angle) dist = distance() me

嘿,在print语句的最后一行中,我一直看到这个语法错误。我是否错过了一些显而易见的事情,或者我只是做错了。雷达()应该以18度的步长获得距离,确实如此。然后,可视雷达()将它们显示为半圆。如果你需要更多的信息,请告诉我

def radar():
    measures = {}
    angle = 18
    servo(0)
    for x in range(9):
        servo(angle)
        dist = distance()
        measures[angle] = dist
        angle += 18

    for number in measures:
        if number < min_distance:
            print('Too close!', number)
            can_move_forward = False

def visual_radar():

    print """
                     %f              %f    
           %f                                %f

       %f                                       %f

    """ %(measures[90]), %(measures[108]),%(measures[72]),measures[126]),%(measures[54]))

radar()
visual_radar()
def雷达():
度量={}
角度=18
伺服(0)
对于范围(9)内的x:
伺服(角度)
距离=距离()
测量[角度]=距离
角度+=18
有关措施中的数字:
如果数量<最小距离:
打印('太近!',数字)
能否向前移动=错误
def目视雷达()
打印“”
%f%f
%f%f
%f%f
“%(度量值[90])、%(度量值[108])、%(度量值[72])、度量值[126])、%(度量值[54])
雷达()
可视雷达()

多个
%
是导致语法错误的原因。这里似乎还有一个额外的括号。你最好在做这件事的时候去掉多余的括号

试试这个:

print("""
                     %f              %f    
           %f                                %f

       %f                                       %f

    """ % (measures[90], measures[108], measures[72] ,measures[126], measures[54]))
看起来您还没有完全理解格式化操作符的工作原理,您可能需要通读一遍

还要注意的是,在这之后,您将得到另一个错误。您有6个格式字符串,但只有5个格式参数。应该是这样的:

TypeError: not enough arguments for format string

多个
%
是导致语法错误的原因。这里似乎还有一个额外的括号。你最好在做这件事的时候去掉多余的括号

试试这个:

print("""
                     %f              %f    
           %f                                %f

       %f                                       %f

    """ % (measures[90], measures[108], measures[72] ,measures[126], measures[54]))
看起来您还没有完全理解格式化操作符的工作原理,您可能需要通读一遍

还要注意的是,在这之后,您将得到另一个错误。您有6个格式字符串,但只有5个格式参数。应该是这样的:

TypeError: not enough arguments for format string

正如Verv之前所说,您的错误来自于
打印功能中最后一个
之后的多个
%

我建议您在打印或构造字符串变量、路径等时尝试使用“
{}.format
”对

在我看来,这是
%
的泛化,因为您不必精确地知道变量的类型

给你一个简单的例子来说明如何使用它:

a = [i**2 for i in xrange(4)]
print ("{}".format(a)) # ints
>>> [0, 1, 4, 9]

a.append("s") # string
a.append(2.4) # float
print "{}, {}".format(a[-1], a[-2])
>>> 's', 2.4
在这里,您只需在最后一个
附近编写一次
.format
,并将
{}
的数量与您在
.format()
中放置的元素数量相匹配


我希望这将是有用的

正如Verv之前所说,您的错误来自于您的
打印
函数中最后一个
之后的多个
%

我建议您在打印或构造字符串变量、路径等时尝试使用“
{}.format
”对

在我看来,这是
%
的泛化,因为您不必精确地知道变量的类型

给你一个简单的例子来说明如何使用它:

a = [i**2 for i in xrange(4)]
print ("{}".format(a)) # ints
>>> [0, 1, 4, 9]

a.append("s") # string
a.append(2.4) # float
print "{}, {}".format(a[-1], a[-2])
>>> 's', 2.4
在这里,您只需在最后一个
附近编写一次
.format
,并将
{}
的数量与您在
.format()
中放置的元素数量相匹配


我希望这会有用

您的语法不正确。它应该看起来像
“”“%f%f”“”%(度量值[90],度量值[108])
您的语法不正确。它应该看起来像
“%f%f”“”%(度量值[90],度量值[108])
对不起,这是个打字错误。应该有六个论点,但是谢谢!对不起,这是个打字错误。应该有六个论点,但是谢谢!它真的很有用!它真的很有用!