2013-11-11 4 views
1

Я новичок в python и просто нуждаюсь в помощи в этой тестовой программе, которую я использую, чтобы пересмотреть свое обучение.Python 3.3.2 массивы индексирования ошибок

Я получаю сообщение об ошибке на последний вопрос этой программы:

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] [0]' не 'вара [0 [0]]' – inspectorG4dget

ответ

4

У вас есть три проблемы:

  1. Вы индексацией ваш массив неправильно. Синтаксис должен быть таким: print(var1[0][0])
  2. Вам нужно сравнить входные данные со строками, так как input возвращает строковый объект.
  3. Вам необходимо назначить этот ввод переменной, чтобы вы могли использовать его позже. Прямо сейчас вы сравниваете с встроенныйinput.

Вот ваш код с этими проблемы исправлены:

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]) 
+0

Это какое быстрое решение проблем ;-). – Artur

+0

Результат 'input (" whatever ")', похоже, не назначается нигде, и сравнения в настоящее время с * функцией * 'input'. – DSM

+0

Правильно, я добавил это. – iCodez

Смежные вопросы