关于列表append语法与input搭配时出现的问题
大佬们好,我是一个Python的初学者,才刚接触Python三天,以后也许还会经常来提问,请多多指教(Python版本号3.9.1 自带的idle和pycharm都有在使用)我遇到的问题是这样的,不清楚是否是语法出现了问题,也不知道该如何解决,还是说,这样做是不被允许的,请各位大佬帮忙看一看
不知道为什么发不了图orz(
我是这样编写的:
names = []
print(names.append(input("请输入名称:")))
print(names)
得到的输出结果是:
请输入名称:ABC(此处是我输入的)
None
['ABC']
从这里我可以看出,他确实把ABC加入到列表去了,但是实在不明白第二行的"None"是哪里来的
为了方便多次输入名称,我还曾经设想过如下方法:
names = []
for i in range(5):
print(names.append(input("请输入名称:")))
print("当前名称列表为:", names)
i += 1
print("填写完毕。")
这样得到的输出结果是每次输入名称后,下面都会跟着出现一个"None"的输出,就很莫名其妙,虽然随着程序的进行,到最后还是会在列表中写入用户输入的5个元素,但是这个"None"一直挥之不去,挺头疼的
所以来请教一下大佬们我的问题出在哪里呢?
问题出在
print(names.append(input("请输入名称:")))
这句,列表append方法对原列表操作并返回None,你相当于print(None)了
names = []
names.append(input("请输入名称:"))
print(names) 问题在于这一句print(names.append(input("请输入名称:")))
你调用了列表的append方法,将input函数的返回值(字符串)添加到names列表里
然后将append的返回值打印出来
但是,append方法并没有返回值
所以返回了一个空(也就是none)
最后的打印结果就是空了 hrp 发表于 2020-12-20 16:08
问题出在
这句,列表append方法对原列表操作并返回None,你相当于print(None)了
好的明白了,谢谢大佬! 昨非 发表于 2020-12-20 16:11
问题在于这一句
你调用了列表的append方法,将input函数的返回值(字符串)添加到names列表里
然后将appe ...
感谢大佬,我搞明白了辽!
页:
[1]