Ошибки при настройке петли!В то время как / если / другое / Элиф? - PullRequest
0 голосов
/ 11 февраля 2019

Проблема в меньшей степени в знаниях.Но вот моя проблема.

Я пытался сделать цикл while для выяснения, какой язык хочет выбрать клиент

Я попытался установить простой скрипт «Вопрос-Ответ» с циклом while,Продолжить для Var A (varr) и прервать для Var B (othervarr)

Python сказал: «Продолжение неправильно задано в цикле» или «разрыв вне цикла»

Так что теперь мой вопрос нечтобы дать мне превосходный код, как вы (я даже не понимаю), мой вопрос, в чем разница между циклом while и if / else?Было бы лучше сделать это с помощью операторов if / else?И как разделить возможности для клиента выбрать «A» (и получить сценарий для a) или выбрать «B» (чтобы получить сценарий для b)?

Заранее спасибо за ваше время

varr = "german"
othervarr = "english"

print("Hello everybody. This is the first Version of 'Ismypasswordsafe' ! If you want to enter in german, type german below, if you want to continue in english, type english below")
while input() == varr:
continue;
print("Du hast dich fuer Deutsch entschieden !")
if input() == othervarr:
break;
print("Alright you choosed English")

Ответы [ 3 ]

0 голосов
/ 11 февраля 2019
  1. Всегда присваивайте свой input () переменной.
  2. Всегда делайте отступ в своем коде.
  3. По вашему вопросу, а если и если / еще, - это совершенно разные вещи.Первый является циклом, то есть он помогает выполнять определенный набор операций снова и снова, в то время как, если / else является условным оператором, т. Е. «Если» условие выполняется, эта часть выполняется, «иначе» - другая.

Вы можете прочитать документацию, чтобы узнать о ней больше.

Документация Python

0 голосов
/ 11 февраля 2019

Чтобы ответить на ваш вопрос, вы не хотите использовать цикл while для этого, потому что он будет работать только при выполнении условия.

, поэтому для вашего кода

while input() == varr:

замечательно, если пользователь вводит немецкий, но никогда не запускается, если пользователь вводит английский.

Вам гораздо лучше использовать ввод, который находится вне цикла, а затем просто использовать оператор if для проверки ввода.

Проблема, связанная с выполнением else после if, заключается в том, что он на самом деле не проверяет другой вход, просто говорит, что он не один, а другой.

Пожалуйста, см. Ниже.

varr = "german"
othervarr = "english"

language = input("Hello everybody. This is the first Version of 'Ismypasswordsafe' ! If you want to enter in german, type german below, if you want to continue in english, type english below")

if language == varr:
    print("Du hast dich fuer Deutsch entschieden !")
if language == othervarr:
    print("Alright you choosed English")

Еще одна вещь, которую следует отметить, конечно, заключается в том, что отступ в Python очень важен и определяет порядок выполнения кода.

Ваша первоначальная ошибка «continue неправильно установлена ​​в цикле» заключается в том, чтоПродолжение соответствует while.

должно быть,

while input() == varr:
    continue;

Теперь python знает, что продолжение находится внутри цикла while.

0 голосов
/ 11 февраля 2019

Сделайте отступ в вашем коде, и вы хотите сохранить введенные данные в переменную.Если у вас есть выбранный язык, вы хотите напечатать одну из двух вещей, так что сделайте, если A else B

varr = "german"
othervarr = "english"

print("Hello everybody. This is the first Version of 'Ismypasswordsafe' ! If you want to enter in german, type german below, if you want to continue in english, type english below")
lang = input()

while not (lang == "english" or lang == "german"):
  print("You must enter 'english' or 'german'")
  lang = input()

if lang == "english":
  print("Alright you choosed English")
else:
  print("Du hast dich fuer Deutsch entschieden !")

РЕДАКТИРОВАТЬ - Обновляется на основе комментариев для цикла, пока не будет выбран один из двух языков.

Пока является циклом и будет , пока условие истинно.Так по-английски: пока lang не является английским и не немецким циклом, требующим дополнительного ввода.

Надеюсь, это имеет смысл!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...