Python 在列表程序中,print语句不能作为float正确连接

Python 在列表程序中,print语句不能作为float正确连接,python,Python,下面是我的代码,但我无法打印最后几行。我尝试过重新排列它们,从字符串切换到浮点,等等。我不知道这是一个小故障还是一个连接问题。如果是这样,我将如何使用浮点打印最后几行 N = [] C= [] Holiday = [] totC = 0 name = input("enter name").upper() while name != "XXX": cost = int(input("enter amount to spend >0

下面是我的代码,但我无法打印最后几行。我尝试过重新排列它们,从字符串切换到浮点,等等。我不知道这是一个小故障还是一个连接问题。如果是这样,我将如何使用浮点打印最后几行

N = []
C= []
Holiday = []
totC = 0
name = input("enter name").upper()
while name != "XXX":
    cost = int(input("enter amount to spend >0 and <=10"))
    while cost <=0 or cost >10:
        print("invalid cost")
        cost = int(input("enter amount to spend >0 and <=10"))
    gift = name + " " + str(cost)
    N.append(name)
    C.append(cost)
    Holiday.append(gift)
    totC = totC + cost
    name = input("enter name").upper()

print(Holiday)
print(N)
print(C)
print(totC)
print("Total cost is "  + totC)
print("Average cost is" + av)
print("Number of names is " + len(N))
print("Number of costs is " + len(C))
N=[]
C=[]
假日=[]
totC=0
名称=输入(“输入名称”).upper()
而名字!=“XXX”:

cost=int(输入(“输入支出金额>0和您可能需要使用
str
函数将浮点数和整数转换为字符串

例如,
print(“成本数为”+len(C))
将变成
print(“成本数为”+str(len(C))
print(“总成本为”+totC)
将变成
print(“总成本为”+str(totC))

打印语句应该是这样的

print("Total cost is "  + str(totC))
print("Average cost is" + str(av))
print("Number of names is " + str(len(N)))
print("Number of costs is " + str(len(C)))
我注意到的一件事是,您没有名为
av
的变量,因此尝试打印它不会起作用。如果您尝试打印平均成本,则可以执行
sum(C)/len(C)
。因此,您可以添加
av=sum(C)/len(C)
就在打印语句之前,也可以集成到打印语句中,如下所示:

print("Average cost is" + str(sum(C)/len(C)))
使用
str

print(“总成本为”+str(totC))
打印(“平均成本为”+str(av))
打印(“姓名数为”+str(len(N)))
打印(“成本数量为”+str(len(C)))

您可能会将串联与字符串和整数的“加法”混淆。

忘记将所有这些值强制转换为字符串。您不需要这样做。相反,请编写
print
语句,如:

print("Total cost is", totC)
print("Average cost is", av)
print("Number of names is", len(N))
print("Number of costs is", len(C))
或者,如果您使用的是Python 3.6或更高版本,您可以使用:


您提供了什么输入?生成了什么输出?您可以使用
str(123)
将数字更改为字符串,以便与其他字符串连接。您遇到了什么问题?如果出现错误,请发布完整的错误消息。如果得到错误的结果,请发布您得到的结果和预期的结果。我在您的代码中没有看到任何为
av
提供值的内容。非常感谢非常感谢!!!别担心@Julia!是的,我忘了打字了。谢谢!!!没问题!@Julia
print(f"Total cost is {totC}")
print(f"Average cost is {av}")
print(f"Number of names is {len(N)}")
print(f"Number of costs is {len(C)}")