Python 3.3.2错误索引数组

时间:2013-11-11 22:21:34

标签: python

我是python的新手,只是需要一些帮助,我正在使用这个测试程序来修改我的学习。

我在这个程序的最后一个问题上收到错误:

var1 = [["Carl", 1], ["Josh", 3]]
input("Please choose var1[0] or var1[1]")
if input == var1[0]:
    input("would you like to print the string or the int?(0 = str, 1 = int)")
    if input == 0:
        print(var1[0[0]])
    else:
        print(var1[0[1]])

else:
    input("would you like to print the string or the int?(0 = str, 1 = int)")
    if input == 0:
        print(var1[1[0]])
    else:
        print(var1[1[1]])

1 个答案:

答案 0 :(得分:4)

你有三个问题:

  1. 您正在为数组索引错误。语法应如下所示:print(var1[0][0])
  2. 您需要将输入与字符串进行比较,因为input返回一个字符串对象。
  3. 您需要将该输入分配给变量,以便以后可以使用它。现在,您正在与内置 input本身进行比较。

  4. 以下是修复这些问题的代码:

    var1 = [["Carl", 1], ["Josh", 3]]
    user_input = input("Please choose var1[0] or var1[1]")
    if user_input == var1[0]:
        user_input = input("would you like to print the string or the int?(0 = str, 1 = int)")
        if user_input == '0':
            print(var1[0][0])
        else:
            print(var1[0][1])
    
    else:
        user_input = input("would you like to print the string or the int?(0 = str, 1 = int)")
        if user_input == '0':
            print(var1[1][0])
        else:
            print(var1[1][1])