我正在研究Al Sweigart的“使用Python自动化无聊的东西”(到目前为止非常棒!)。
有人可以向我解释这一行代码吗?
print('Jimmy Five Times (' + str(i) + ')')
因此该行在while循环中使用,并导致打印以下内容:
吉米五次(0)
吉米五次(1)
吉米五次(2)
吉米五次(3)
吉米五次(4)
那太好了,但是阅读代码,我希望它只打印一次:
吉米五次(+ str(i)+)
当所讨论的代码用''封装时,为什么括号的内容未转换为字符串?而且,嵌套的括号也可以转换为字符串,我希望会发生这种情况,但是很明显,它的功能似乎是首先评估其内容...而我发现了。我将把它留在这里,以防其他人怀疑:
Print(
第一个字符串: 'Jimmy Five Times ('
+ str(i) +
第二个字符串: ')'
)
答案 0 :(得分:2)
这是一个简单的字符串添加:
second_string = 'second string'
print ('first string'+str(second_string)+'third string as a bracket'
在您的情况下:
第一个字符串是:“吉米五次((
第二个字符串是:str(i)
第三个字符串是:')'
自从Python 3.6实现f字符串以来,我们应该使用更简洁易读的版本:
print (f'Jimmy Five Times ({i})')
答案 1 :(得分:2)
要打印相同的内容,您也可以这样做:
print('Jimmy Five Times ({})'.format(str(i)))
#or
print(f'Jimmy Five Times ({str(i)})')
大括号内的任何代码都将执行并插入到字符串中,但是,重要的是不要在开始时忘记f"{}"
,否则将不起作用
答案 2 :(得分:0)
我没有正确阅读引号。下面显示了引号的第一和第二块,它们导致执行正确的代码,如书中所示:
Print(
第一个字符串: 'Jimmy Five Times ('
+ str(i) +
第二个字符串: ')'
)