Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python中的未知错误,代码在try循环后出现_Python_For Loop_Try Catch - Fatal编程技术网

Python中的未知错误,代码在try循环后出现

Python中的未知错误,代码在try循环后出现,python,for-loop,try-catch,Python,For Loop,Try Catch,我正在尝试使用v3.8创建一个简单的Python脚本,以执行以下操作: 创建两个单独的列表 让列表根据用户输入进行增长(不输入整数退出) 并排垂直显示列表 就个人而言,我所有的项目都能正常工作。当我在我的try块之后添加for循环时,脚本关闭。如果我将for循环放在try块之前,它工作正常,这告诉我它来自try块。然而,不管我用谷歌搜索了多少次答案,并尝试了不同的方法,我就是想不出来 代码: 有两个问题: 行nameList[o]+'\t'+countList[o]不起作用,因为您试图用数字附加

我正在尝试使用v3.8创建一个简单的Python脚本,以执行以下操作:

  • 创建两个单独的列表
  • 让列表根据用户输入进行增长(不输入整数退出)
  • 并排垂直显示列表
  • 就个人而言,我所有的项目都能正常工作。当我在我的
    try
    块之后添加
    for
    循环时,脚本关闭。如果我将
    for
    循环放在
    try
    块之前,它工作正常,这告诉我它来自
    try
    块。然而,不管我用谷歌搜索了多少次答案,并尝试了不同的方法,我就是想不出来

    代码:


    有两个问题:

  • nameList[o]+'\t'+countList[o]
    不起作用,因为您试图用数字附加字符串。改用
    nameList[o]+'\t'+str(countList[o])
  • 当while循环中出现异常时,列表的长度不同
  • 下面的代码可以工作,但是这样编写代码肯定不是最好的做法

    nameList = []
    countList = []
    
    try:
    
        while True:
            nameList.append(str(input("Enter Name: ")))
            countList.append(int(input("Enter Count: ")))
    
    except Exception:
        pass
            
    
    print("Name" '\t' "Count")
    for o in range(len(countList)):
        print(nameList[o] + '\t ' + str(countList[o]))
    

    您只能在上一个print语句中连接str(
    countList[o]
    是一种int类型)。

    如果您不想麻烦使用强制转换,让格式通过在字符串中使用占位符来处理此问题

    print('{}\t {}'.format(nameList[o], countList[o]))
    

    除了,你试过摆脱
    吗<代码>除异常外
    通常都是不好的做法,请参见。如果某项操作不起作用,您应该做的第一件事是检查错误消息,并阅读其中所述内容。运行代码时,应该给出“TypeError:只能将str(而不是“int”)连接到str”。这不是一个“未知错误”,这是否回答了你的问题?处理不均匀长度的一种方法是使用。
    print('{}\t {}'.format(nameList[o], countList[o]))