TypeError:必须是str,而不是float(Python,返回值)

2024-04-29 06:27:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用CS Dojo's tutorial学习Python。我现在正在做他交给我们的任务,那就是建造一个“英里到公里的转换器”。任务本身非常简单,但是我想构建一个程序,它可以做更多的事情。我希望输出是

“距离”+“名称(例如从纽约到华盛顿)”+“是”+(值)+“以公里为单位。”

但它一次又一次地给我同样的错误信息。 我的代码是

迈尔斯变量 name1=“从纽约到华盛顿” 英里1=20

name2 = "from_Boston_to_Dallas"
miles2 = 30

name3 = "from_Tokyo_to_Seoul"
miles3 = 40

#define function
def conver(name, distance):
    d = distance * 1.6
    print("result: ")
    print(d)
    return "The distance" + name + "is" + d + "in kilometers."

# result variables
result1 = conver(name1, miles1)
result2 = conver(name2, miles2)
result3 = conver(name3, miles3)

错误消息如下:

^{pr2}$

谢谢。在


Tags: tonamefromresultcstutorialdistancedojo
3条回答

执行:

return "The distance" + name + "is" + str(d) + "in kilometers."

因为很难将一个字符串与一个int连接起来,所以它不知道您想做什么

在python3.6+中,f-string节省了键入难看的引号和加号的时间,并且大大提高了可读性。在

return f"The distance {name} is {d} in kilometers."

也可以在f字符串中轻松地进行格式化

^{pr2}$

d需要转换为字符串,然后才能与return语句的其余部分连接:

d = str(distance * 1.6)

相关问题 更多 >