gpt4 book ai didi

Python打印功能问题

转载 作者:太空宇宙 更新时间:2023-11-03 12:49:04 24 4
gpt4 key购买 nike

我是 Python 的新手,正在使用 Python 3.3.2。我在尝试打印的字符串中包含数据项时遇到了问题。 %运算符(operator)要么按字面打印出:

for miles in range (10, 70, 10):
km=miles*1.609
print ("%d miles --> %3.2f kilometers") % (miles, km)

产生:

%d miles --> %3.2f kilometers

连同错误:

Unsupported operand type for %: 'NoneType' and 'tuple'

但是当我把第三行改成:

print (%d "miles -->" %3.2f "kilometers") % (miles, km)

我在 %d 上遇到语法错误。通过消除'print(),我能够让程序在交互模式下正常工作。 ' 函数,但如果没有 'print(),它不会在 IDLE 中产生输出'.我错过了什么?我为弄清楚这一点所做的研究有助于更多地了解 Python,但到目前为止还没有让程序运行。顺便说一句,它应该输出:

10 miles --> 16.09 kilometers
20 miles --> 32.18 kilometers
30 miles --> 48.27 kilometers
40 miles --> 64.36 kilometers
50 miles --> 80.45 kilometers
60 miles --> 96.54 kilometers

我很感激我能在这个问题上得到的任何帮助或帮助。

最佳答案

print 函数内移动 % (miles, km):

print 函数返回 None,因此在您的代码中您实际上是在尝试:

None % (miles, km)

这就是您收到该错误的原因。

工作代码:

>>> for miles in range (10, 70, 10):
... km=miles*1.609
... print ("%d miles --> %3.2f kilometers" % (miles, km))
...
10 miles --> 16.09 kilometers
20 miles --> 32.18 kilometers
30 miles --> 48.27 kilometers
40 miles --> 64.36 kilometers
50 miles --> 80.45 kilometers
60 miles --> 96.54 kilometers

使用新样式string formatting :

>>> for miles in range (10, 70, 10):
km=miles*1.609
print ("{:d} miles --> {:3.2f} kilometers".format(miles, km))
...
10 miles --> 16.09 kilometers
20 miles --> 32.18 kilometers
30 miles --> 48.27 kilometers
40 miles --> 64.36 kilometers
50 miles --> 80.45 kilometers
60 miles --> 96.54 kilometers

关于Python打印功能问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17516130/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com