【发布时间】:2018-01-29 22:27:16
【问题描述】:
def star():
print("***")
def slash():
print("///")
def main():
print(star(), slash())
main()
我想打印"***///" but 我无法在同一行打印它们而不会出错。
【问题讨论】:
标签: python function printing call
def star():
print("***")
def slash():
print("///")
def main():
print(star(), slash())
main()
我想打印"***///" but 我无法在同一行打印它们而不会出错。
【问题讨论】:
标签: python function printing call
您的函数 star() 和 slash() 调用 print() 并且它们不返回任何值。但是您的函数main() 正在尝试打印它们返回的值。您需要下定决心控制印刷的位置。而且它可能不应该在star() 和slash() 中,因为您想控制输出是否在一行上,而这些函数无法判断一行上还有什么。你可以这样做:
def star():
return "***"
def slash():
return "///"
def main():
print(star(), slash())
main()
【讨论】:
你真正想要的是:
def star():
return "***"
def slash():
return "///"
def main():
print(star(), slash(), sep='')
main()
您需要返回要打印的字符串。否则,你会得到:
***
///
None None
【讨论】:
你不会运行print(print('value')),但这就是你在这里所做的。相反,您应该说您想要调用第一个值的函数,而第二个具有另一个值的函数。然后你可以简单地把它们加在一起。
您可以使用return 语句并创建一个变量。
例如:
def star():
return "***"
def slash():
return "///"
def main():
a = star() + slash()
print(a)
main()
您可以阅读他们的相关信息here
【讨论】:
试试这个
def star():
print("***", end = "")
def slash():
print("///")
def main():
print(star(), slash())
main()
【讨论】:
None None。