cookies945 发表于 2018-10-3 09:27:42

麻烦大佬告诉我为什么print会被说是无效的语法

temp = int(input("请输入数字:"))
list1 = []
while temp > 0:
    num = temp % 2
    temp//=2
    list1.append(num)
shengyu = len(list1)
str1 = ""
for i inlen(list1):
    str1.append(str(list1.pop())
print(str1)


最后运行的时候最下面的print显示成红的了
感谢大佬们的解答

dong628 发表于 2018-10-3 09:40:54

发下截图

shentianbusi 发表于 2018-10-3 10:04:54

你这个是str1.append这里就错了,字符串没用append这个方法的,你可以用str1+=str(list1.pop())

翩跹叶惊鸿 发表于 2018-10-3 10:17:23

本帖最后由 翩跹叶惊鸿 于 2018-10-3 10:23 编辑

str1.append()

这个出错了,字符串哪有append()???
只有列表才有append()这个方法。

还有就是迭代器 for i in len(list1)!
这个错了,len(list1)是一个数字。



temp = int(input("请输入数字:"))
list1 = []
while temp > 0:
    num = temp % 2
    temp//=2
    list1.append(num)
shengyu = len(list1)
str1 = ""
for i in range(len(list1)): #range这个会生成 0到len(list1)-1
    str1 += str(list1.pop()) #对于字符串+就是拼接的意思
print(str1)

cookies945 发表于 2018-10-3 20:33:06

翩跹叶惊鸿 发表于 2018-10-3 10:17
str1.append()

这个出错了,字符串哪有append()???


感谢大佬解答

Lofty_ 发表于 2018-10-4 15:31:13

str1是字符串,而你append的操作是对list进行操作,将str1 ='' 改为 str1 = []

a13879161207 发表于 2018-10-4 15:44:49

666
页: [1]
查看完整版本: 麻烦大佬告诉我为什么print会被说是无效的语法