鱼C论坛

 找回密码
 立即注册
查看: 2691|回复: 4

[已解决]关于列表append语法与input搭配时出现的问题

[复制链接]
发表于 2020-12-20 16:00:04 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
大佬们好,我是一个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"一直挥之不去,挺头疼的

所以来请教一下大佬们我的问题出在哪里呢?

   

最佳答案
2020-12-20 16:08:43
问题出在
print(names.append(input("请输入名称:")))
这句,列表append方法对原列表操作并返回None,你相当于print(None)了
names = []
names.append(input("请输入名称:"))
print(names)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-12-20 16:08:43 | 显示全部楼层    本楼为最佳答案   
问题出在
print(names.append(input("请输入名称:")))
这句,列表append方法对原列表操作并返回None,你相当于print(None)了
names = []
names.append(input("请输入名称:"))
print(names)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2020-12-20 16:11:13 | 显示全部楼层
问题在于这一句
print(names.append(input("请输入名称:")))
你调用了列表的append方法,将input函数的返回值(字符串)添加到names列表里
然后将append的返回值打印出来
但是,append方法并没有返回值
所以返回了一个空(也就是none)
最后的打印结果就是空了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2020-12-20 16:13:12 | 显示全部楼层
hrp 发表于 2020-12-20 16:08
问题出在

这句,列表append方法对原列表操作并返回None,你相当于print(None)了

好的明白了,谢谢大佬!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-12-20 16:13:48 | 显示全部楼层
昨非 发表于 2020-12-20 16:11
问题在于这一句
你调用了列表的append方法,将input函数的返回值(字符串)添加到names列表里
然后将appe ...

感谢大佬,我搞明白了辽!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-17 01:09

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表