0

I want to output the following string n times.

" add x0,x0,x0      # placefold  \n\t" \

When I use

placeholder=r'" add x0,x0,x0      # placefold  \n\t" \' 
print(placeholder)

EOL while scanning string literal error occurred. I clearly added r in front of the string, why does this error still occur.

When i use

placeholder=r'" add x0,x0,x0      # placefold  \n\t" \ ' 
print(placeholder)

(I added a space before the'.)

There is no error after running. But I don’t want an extra space at the end.

what should I do? What I want to achieve is:

placeholder=(r'" add x0,x0,x0      # placefold  \n\t" \' +"\n")*repeat_number
print(placeholder)

Thanks!

Yujie
  • 395
  • 2
  • 12

2 Answers2

1

You can use string concatentation without the + operator, I suggest using this code:

placeholder=r'" add x0,x0,x0      # placefold  \n\t" ' '\' 
print(placeholder)

Notice, that "ab" is equal to "a" "b" (this works too in C).

FaranAiki
  • 453
  • 3
  • 12
1

If you want placeholder to end with a backslash, consider escaping it:

placeholder = r'" add x0,x0,x0      # placefold  \n\t" \\'
print(placeholder)

Results in: " add x0,x0,x0 # placefold \n\t" \\. It looks like there are two backslashes, but there is actually only one. The console prints \\ to notify a single backslash in this case. Proof:

>>> placeholder[-1]
'\\'
RobBlanchard
  • 855
  • 3
  • 17