python - 字符串格式 .format 到变量
问题描述
我正在尝试创建一个函数,该函数允许我使用 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
知道第二个示例中的 while 循环中 num 不增加的原因吗?解决方案是什么?
解决方案
您正在覆盖age
字符串,因此在第二次迭代中没有任何内容需要格式化。您可以使用两个字符串 - 一个带有要格式化的模板,一个带有格式化结果:
num = 1
template = 'My age is {}'
while num<7:
age = template.format(num)
print(age)
num+=2
推荐阅读
- node.js - 在 Mongoose 中查找期间添加自定义字段
- python - 计算灰度图像的偏度和峰度
- android - 何时调用 onCreateViewHolder,为什么?回收站视图
- python - Python - 获取给定坐标的图形方程
- php - 这是 googleassitant 和 PHP 之间的 webhook 的 url
- javascript - 什么决定了javascript类型转换顺序?
- c# - 复制通用流而不更改位置
- haskell - 在 http 请求之间保持状态
- vidyo - 管理员用户退出时结束 vidyo.io 会议
- apache - 简单的 .htaccess 重定向导致无限循环