有很多关于如何解决“TypeError:无法连接'str'和'list'对象”错误的问题/答案,这就是我得到的。我是Python的新手,正在参加Python2.7中教授的在线课程(我相信),但我正在用Python 3编写。
这是我目前的代码:
print bcolors.BOLD + self.name + " " + str(self.hp) + "/" + str(self.maxhp) + " |" + bcolors.OKGREEN + "███████ " + "| " \
+ str(self.mp) + "/" + str(self.maxmp) + " |" + bcolors.OKBLUE + "██████" + bcolors.ENDC + "|"
我知道我需要将一些+符号更改为逗号,因为有字符串,但我基本上尝试了所有组合并且失去了希望。
非常感谢任何帮助。我真的很抱歉,如果这张贴在别处,但我确实到处都看 - 我对python缺乏了解也不允许我将其他一些文章应用于此我不认为。
答案 0 :(得分:0)
我对这个问题有点困惑。
中间有空格的 print "Hello World"
是Python 2.7语法; Python 3使用print("Hello World")
。如果你命令行which python
它应该让你知道你正在使用哪个python作为解释器。
此外,在这种情况下,该错误意味着您正在添加str
和list
。唯一没有str
强制转换的变量是name
和bcolors
,因此请检查这两个变量以查看它们是否为列表。这个错误甚至可能不在这一行。
如果您想将列表中的项目连接在一起,则正确的语法与其他答案一样:''.join([str(item) for item in _list])
。
答案 1 :(得分:0)
加号很好。
没有用于打印的括号
例如
val expiration = LocalDateTime.now().plusHours(1)
val generatePresignedUrlRequest = GeneratePresignedUrlRequest(bucketName, objectKey).apply {
method = HttpMethod.GET
expiration = Date.from(expiration.atZone(ZoneId.systemDefault()).toInstant())
}
val s3client = AmazonS3Client(ProfileCredentialsProvider())
val s = s3client.generatePresignedUrl(generatePresignedUrlRequest)
对于列表,您需要print(bcolors.BOLD + self.name)
或者你可以结合这种方法
join()