我正在尝试以ASCII格式打印名称,但仍然出现错误。
print (" ---", " _", "|\ |", " ___ ", " |")
print (" | | ", " | |", "| \ |", " / \ ", " |")
print (" |---", " ---", "| \|", " /_____\", " |____",)
print (" / \", "| |")
错误消息是:
File "C:File "C:\[path]\jonah.py", line 3, in ?
print (" |---", " ---", "| \|", " /_____\", " |____",)
Syntax Error: EOL while scanning string literal: C:\[path]\jonah.py, line 3, pos 57
print (" |---", " ---", "| \|", " /_____\", " |____",)
答案 0 :(得分:1)
你必须逃脱你的\字符。另外,在关闭第三行的括号之前,请删除,。 PS尝试使用""" your very long string that can span multiple lines """
答案 1 :(得分:1)
在python字符串(和大多数其他语言)中,\
字符用于特定目的 - 它会转义其他特殊字符,允许您将它们放在字符串中。否则,您在同一个字符串中遇到'
和"
时很难(例如,还有其他可用的转义码):
foo = "'\""
# gives a string with the content '"
来自python的错误消息告诉您它无法找到字符串文字的结尾,这是由以下原因引起的:
" /_____\"
由于上一个\
转义下一个"
并使其成为字符串的一部分,因此分隔实际字符串的"
的数量是不平衡,因此,python抱怨。
那么当你需要一个真正的\
并且不希望它逃避别的东西时你会怎么做?你逃脱了!因此,如果您在上面使用\\
,则会在字符串中逐字使用以下\
,而不是转义下一个"
。
此外 - 为了更容易制作ASCII艺术品,您可以使用"""
来分隔多行字符串:
foo = """
This can span many lines
Yup
Yup
"""
答案 2 :(得分:0)
在Python 3中结束一条不以新行字符结尾的行,您还需要使用另一个\
来转义\字符。print (" |---", " ---", "| \|", " /_____\\", " |____",end='')
您只需使用
指定了python 2的方法print 'text',
答案 3 :(得分:0)
你的第一行末尾有一个逗号
print (" |---", " ---", "| \|", " /_____\", " |____",) <--- HERE
答案 4 :(得分:0)
您在双引号前使用了Escape Characters。
class NetworkProvider {
public var userID: String
func observeStateChange() {
FIRAuth.auth()?.addStateDidChangeListener({ (auth, authenticatedUser) in
if let user = authenticatedUser {
userID = user.uid
}
}
}
func currentUserID() -> String {
return self.userID
}
}`