程序总是报“格式不正确”

来源:2-17 项目中的使用场景:嵌套列表(建议跟着老师敲代码)

qq_老高的心思你别猜_0

2020-02-05 13:41:24

emp_list=[]
while True :
   info = input("请输入员工信息:")
   if info == "" :
       print("程序结束")
       break
   info_list = info.split(",")
   if len(info_list) != 3 :
       print("输入格式不正确,请重新输入")
       continue
   emp_list.appen(info_list)
for emp in emp_list :
   print("{n},年龄:{a},工资:{s}".format(n=emp[0],a=emp[1],s=emp[2]))



写回答

3回答

时间,

2020-02-05

同学,你好。

1、同学在输入员工信息时,姓名,年龄,工资间的逗号是否输入的是中文状态下的。若是,得到的info_list长度不为3,if条件不成立,因此输出格式不正确。

只有使用英文状态下的逗号,info.split(",")代码才可以正确分割。

http://img.mukewang.com/climg/5e3a6295099d414f02300052.jpg

2、列表添加元素时,应为append

http://img.mukewang.com/climg/5e3a62dd0957507c02340054.jpg

如果我的回答解决了你的疑惑,请采纳!祝学习愉快~~~~

0
hq_老高的心思你别猜_0
h 老师讲得好,我也认识到自己的错误了,您真是一针见血,明察秋毫。您的回答对我帮助很大,不像上一个老师,我的意思他都没搞懂,还要回答,害得我丈二和尚上摸不着头脑,???。谢谢您,此致,敬礼!
h020-02-05
共1条回复

qq_老高的心思你别猜_0

提问者

2020-02-05

我的意图是把所有信息添加到复合列表中,然后再循环遍历所有信息。

而且,我输入的字符串,生成列表后长度是为3的,为什么还会报“输入格式不正确”呢

0

为学习而奋斗

2020-02-05

同学,您好:
同学的错误在于,最后的一行,for emp in emp_list:这一边的后面开始,要注意缩进~

同学可以使用debug进行调试就知道了~因为执行到下面的时候,因为for不在while循环里面,所以自热而然直接跳回去input了~

我已经将代码改好了:

emp_list=[]
while True :
   info = input("请输入员工信息:")
   if info == "" :
       print("程序结束")
       break
   info_list = info.split(",")
   if len(info_list) != 3 :
       print("输入格式不正确,请重新输入")
       continue
   emp_list.append(info_list)
   for emp in emp_list :
       print("{n},年龄:{a},工资:{s}".format(n=emp[0],a=emp[1],s=emp[2]))

而且,同学的append也写错了,同学写的是appen,少了一个d,同学需要仔细观察~

0
hq_老高的心思你别猜_0
h 在下懂了,但是你没有明确我的问题,而且解答的不清楚。第一,你的理解能力不太行,第二,你的学术值得怀疑。
h020-02-05
共1条回复

0 学习 · 8160 问题

查看课程