Итератор if-функций, возвращающих ошибки - PullRequest
0 голосов
/ 22 ноября 2018

Я только начал проект кодирования, который может кодировать сообщения.При попытке использовать функции if и elif repl.it возвращает ошибку, независимо от того, чем я пытаюсь завершить функции if.

Код:

    ConvertString = input("Enter a string: ")
    StringList = list(ConvertString)
    print (StringList)
    for x in list(range(len(StringList))
      if StringList[x] == "a":
        print("Letter found: a")
      elif StringList[x] == "b"
        print("Letter found: b")
      elif StringList[x] == "c"
        print("Letter found: c")
      elif StringList[x] == "d"
        print("Letter found: d")
      elif StringList[x] == "e"
        print("Letter found: e")
      elif StringList[x] == "f"
        print("Letter found: f")
      x += 1

1 Ответ

0 голосов
/ 22 ноября 2018

У вас есть синтаксическая ошибка.Питоны для петель определены как for x in y:.Вы забыли о :.Двоеточие также необходимо после ifs или elifs или elses

Кроме того, вам не нужно преобразовывать range() в список.range() в Python3 возвращает генератор, который вы можете безопасно перебирать (в Python2 вы должны использовать xrange).

Кроме того, вам не нужно увеличивать x, поскольку он увеличиваетсяby Pythons for loop.

Тогда не используйте C-подобные циклы.Вам не нужно работать с индексами.Лучше написать больше кода Python, используя Pythons для цикла, как и другие языки foreach:

ConvertString = input("Enter a string: ")
StringList = list(ConvertString)
print (StringList)
for x in StringList:
  if x == "a":
    print("Letter found: a")
  elif x == "b":
    print("Letter found: b")
  elif x == "c":
    print("Letter found: c")
  elif x == "d":
    print("Letter found: d")
  elif x == "e":
    print("Letter found: e")
  elif x == "f":
    print("Letter found: f")

И последнее, если вам нужны только буквы a-f, хорошо, вы можете написатькод, как это.Но было бы лучше проверить, является ли письмо >= a или <= f.Но если вы хотите проверить весь алфавит, лучше написать это так:

ConvertString = input("Enter a string: ")
StringList = list(ConvertString)
print (StringList)
for x in StringList:
  print(f"Letter found: {x}")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...