python - Python:使用while循环输出问题
问题描述
我试图弄清楚如何输出他们解决方案的变量/函数及其差异。
我遇到了无限输出相同内容的问题,所以我将其插入。但现在我对如何在一行中打印所有内容感到困惑(如果这有意义吗?)
编辑:(谢谢@dgg32)更新
import math
def my_sqrt(a):
x=5
y=1
while True:
y = (x + a/x) / 2.0
if y == x:
break
x = y
return y
def test_sqrt():
a=5
while True:
if a<=25:
b=my_sqrt(a)
c=math.sqrt(a)
d=abs(b-c)
print (f"a={a} | my_sqrt(a)={b} | math.sqrt(a)={c} | diff={d}")
a=+1
test_sqrt()
它应该输出变量的名称及其值(使用 'a' 最多 25。因此,总共 25 条输出行显示了 'a' 的值,my_sqrt、math.sqrt 的计算以及它们之间的差异。
现在,它无休止地输出相同的结果,而没有像我预期的那样进行增量更新。
解决方案
所以你的问题是关于如何打印 concat 消息?
在您的打印语句中,您引用了整个表达式,python 将打印整个内容而不作任何更改。
您可以:1. concat 引用和变量,2. f-string 或 3. 格式化输出。我发现 f-string 最简单:
value = 3
print (f"a is {value}")
输出:
a is 3
在您的情况下,只需在引号前面添加一个字母“f”就可以了:
print (f'a = {b} | my_sqrt(a) = {b} | math.sqrt(a) = {c} | diff = {d}')
推荐阅读
- java - spring security 不加载资源(图像,css)
- angularjs - 我想为我使用的产品选项卡添加下拉列表
- bash - GitHub - 在单个服务器上使用多个部署密钥
- ruby-on-rails - 将ruby变量集成到js中
- vba - 将数据从多个工作簿复制到单个工作簿工作表明智
- python - 如何使用 nltk 或 python 删除或更正 excel 文件或文本文件中的拼写错误
- business-intelligence - 具有收入排序功能的总部位置彭博终端筛选器
- android - 如何将Web api中的数据填充到android中的自定义listView中
- php - 无法从 Facebook 登录中检索电子邮件
- c++ - 如果类使用虚拟继承,为什么对象大小会增加?