繁体   English   中英

字符串格式.format到变量

[英]String Format .format to variable

我正在尝试创建一个函数,允许我使用while循环将字符串传递给age变量。 这是使用.format字符串的代码的简化版本。 以下代码按预期工作。

num = 1
while num<7:
    age = 'My age is {}'.format(num)
    print(age)
    num+=2

输出如下图所示:

My age is 1
My age is 3
My age is 5

但是,当我尝试使用while循环捕获年龄变量中的字符串'My age is {}'时,它不起作用。 这是代码。

num = 1
age = 'My age is {}'
while num<7:
    age = age.format(num)
    print(age)
    num+=2

我得到以下输出。

My age is 1
My age is 1
My age is 1

知道第二个例子中num在while循环中没有增加的原因吗? 解决方案是什么?

你正在覆盖age字符串,所以在第二次迭代中没有什么可以格式化的。 您可以使用两个字符串 - 一个使用模板格式化为to,另一个使用格式化结果:

num = 1
template = 'My age is {}'
while num<7:
    age = template.format(num)
    print(age)
    num+=2

第一次通过循环,你用一个数字替换了字符串中的{} 从那时起, format没有任何事情要做,因为字符串中没有任何格式标记。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM