程序总是报“格式不正确”
来源: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(",")代码才可以正确分割。
2、列表添加元素时,应为append
如果我的回答解决了你的疑惑,请采纳!祝学习愉快~~~~
qq_老高的心思你别猜_0
提问者
2020-02-05
我的意图是把所有信息添加到复合列表中,然后再循环遍历所有信息。
而且,我输入的字符串,生成列表后长度是为3的,为什么还会报“输入格式不正确”呢
为学习而奋斗
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,同学需要仔细观察~