我正在一个需要比较大约900位数的字符串的程序中工作。 但每当我输入它们
a = '01111111111111100000000000111111111111111111111111111111111111111111111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011111111111010101000000000000000000000000000000011111111111111111111111111111111111111100000000000000000000000000000000000000000000111111111111111111111111111100001010101000010100'
Python只将第一行作为字符串,它表示错误。 我可以通过哪种方式输入它以便Python获取完整的字符串? 感谢
答案 0 :(得分:5)
您的意思是您需要输入带换行符的多行字符串吗?
使用三重引语:
a = '''This is the first line
and a second one too
hello world!
'''
保留换行符,就像所有空格一样。
如果不想要包含换行符,请在多个字符串周围使用括号:
a = (
'This is one string, '
'entirely without newlines, but it is one long '
'string nonetheless')
Python编译器将这样的连续字符串(除了空格之外没有任何内容)组成一个长字符串对象。
但是,900位数字符串最好存储在单独的文件中,而不是源代码中:
with open('digitsfile.txt', 'r') as infh:
a = infh.read().strip() # read all data, remove newline at the end
答案 1 :(得分:0)
Python编译器连接相邻的字符串文字。您只需要告诉编译器文字是相邻的。
a = (
'123'
'456'
'789'
)
print a
答案 2 :(得分:0)
您可以跳过\
的新行:
>>> num = '12345' \
... '67890'
>>> num
'1234567890'
答案 3 :(得分:0)
你确定字符串中没有回车符,这会导致错误。
尝试将字符串括在三引号中
s = """really long strrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrring"""
然后回复它
print s