Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
138 views
in Technique[技术] by (71.8m points)

python - Putting a variable into a string (quote)

Help I can't get this to work, I am trying to put the variable age into the string but it won't load the variable properly.

Here is my code:

import random
import sys
import os


age = 17
print(age)
quote = "You are" age "years old!"

Gives this error:

File "C:/Users/----/PycharmProjects/hellophyton/hellophyton.py", line 9
        quote = "You are" age "years old!"
                        ^
SyntaxError: invalid syntax

Process finished with exit code 1
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

You should use a string formatter here, or concatenation. For concatenation you'll have to convert an int to a string. You can't concatenate ints and strings together.

This will raise the following error should you try:

TypeError: unsupported operand type(s) for +: 'int' and 'str'

Formatting:

quote = "You are %d years old" % age
quote = "You are {} years old".format(age)

Concatenation (one way)

quote = "You are " + str(age) + " years old" 

Edit: As noted by J.F. Sebastian in the comment(s) we can also do the following

In Python 3.6:

f"You are {age} years old"

Earlier versions of Python:

"You are {age} years old".format(**vars())

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...