Как указать каждый номер индекса - Python

1

Я пишу эту программу, которая должна конвертировать двоичный код в шестнадцатеричный. Я должен использовать цикл for. Мне нужна часть, как мне получить программу для получения целого числа и его номера индекса.

мой код до сих пор

q = raw_input('asdf ')
p = list(q)
t = [int(x) for x in p]
for i in t:
    if i == 1:
    w=i*(2**(3-t[x]))
    print w

часть t [x] должна быть номером индекса. Итак, что происходит, если он один, то он будет умножаться на 2 ^ 3- (его индексный номер)

Как я могу обратиться к номеру индекса?

И как мне заставить его суммировать все значения, которые он получает

  • 0
    Если это домашнее задание, пожалуйста, пометьте его как таковое, иначе нет абсолютно никакой причины, чтобы кодировать это самостоятельно
  • 0
    не знал, что у них есть домашнее задание
Теги:

2 ответа

0
Лучший ответ

Попробуй это:

for ind in range(len(t)):
  i = t[ind]
  ...

Тогда я - это переменная, которую вы имели раньше, а ind - номер цикла.

Для суммы выполните:

result = 0

перед циклом и

  result += w

внутри цикла.

4

Вы можете использовать функцию enumerate.

for rank, item in enumerate(my_list):
   # here you have the index of the item (rank)
   # and the item ( the same as my_list[rank] )

для вашего примера вы можете сделать что-то вроде этого:

 inital_binary = raw_input("polop")
 for rank, letter in enumerate(inital_binary):
    print int(letter) * 2**(len(inital_binary) - (rank+1))

что даст для ввода 1100:

8
4
0
0
  • 0
    поэтому вместо т [х] я ставлю ранг
  • 0
    @tyim: да, это звучит так
Показать ещё 6 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню