【发布时间】:2018-12-08 01:16:17
【问题描述】:
我正在尝试创建一个函数,该函数允许我使用 while 循环将字符串传递给年龄变量。这是使用 .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 循环在年龄变量中捕获字符串“我的年龄是 {}”时,它不起作用。这是代码。
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变量,并且在第一个循环之后,该变量不再具有所需的{} -
您不能覆盖年龄。将返回分配给不同的变量并使用它。多田~
标签: python string while-loop iteration string.format