+ 6
Помогите пожалуйста разобраться с while
второй день не могу решить код в цикле while, а именно решить практику "нажмите на курок". Уже просто мысли иссякли.
53 Antworten
+ 7
...
i = 4 #устанавливаем количество выстрелов, заряжаем винтовку
while i >0:
...
...
i = i - 1
+ 3
Да, все почти правильно. Только инпут должен быть в цикле, ну и значение с abc надо не присваивать '=', а сравнивать '=='. == это оператор сравнения. Потом, в инпуте у нас лежат строковые данные. Как они у нас обозначаются? И каким образом мы эту строку должны сравнить с abc?
+ 2
Ну что ты делаешь? abc у тебя уже изначально строка! Не надо трогать эту переменную. Потом, нам надо с р а в н и т ь, что лежит в abc с заведомо известным значением. Тебе надо повторить, как выглядит оператор сравнения. У нас есть коробка с надписью 'abc', в ней лежит неизвестно что, но мы точно знаем что строка и нам надо это значение сравнить с hit или miss
+ 2
"Боже мой" - так меня еще никто не называл... 😆 приятно...
+ 2
Верю... бывает ступор настает и никак. Я так с задачей "числа Фибоначчи" мучился. Если не идет решение, можно на пару дней отложить. Пусть голова отдохнет и потом с новыми силами в бой!
+ 2
Можно начать с алгоритма. Написать на бумаге последвательность действий своими словами, затем алгоритм переписать в программный код
+ 2
While с английского переводится как: "пока". Значит, пока условие true (истинно) цикл будет продолжаться до тех пор, пока условие не будет false.
Например:
1.
while(1 == 1) // запустит бесконечный цикл
while(1 == 0) // не запустит данный цикл
2.
int i = 0;
while(i < 10) // читай как: пока i меньше 10, то делай вот это
{
Console.WriteLine("Переменная name в цикле")
i++;
}
+ 2
Спасибо огромное за подробное обьяснение, тоже долго не мог понять где ошибка, оказывается input нужно было занксти в цикл, а я не догодался и не понимал почему перкменную с очками код не использовал 😅
+ 2
Что не понял? Спрашивайте!
+ 1
I haven't done anything yet ( I just can't understand the logic of this task. I understand that there is a function 'input' but what to do I do not understand
The task is as follows: write the code using the while function. You need to create a game where the player tries to shoot at an object and can hit (hit) or miss (miss) .
At the beginning, the player has 100 points, a hit adds 10 points to the player's score, and a miss takes away 20 points.
Your program should take the result of 4 actions as input ("hit" or "miss"), then calculate and output the remaining player points.
Example of Input
hit
hit
miss
hit
Example Of Output Data
110
+ 1
Привет!
1. Инпут висит в воздухе. Ему не назначена ни одна переменная.
2. Для цикла while необходим счетчик. Что значит 1==1?
Читаем внимательно условие:
1. используйте цикл while для приема ввода значений. Как это сделать?
2. Затем нам в цикле надо рассчитать наше количество очков, в зависимости от промахов и попаданий.
3. Вывести количество наших очков
+ 1
Успокойся, сейчас все получится. Мыслишь в правильную сторону
+ 1
Для while нужен счетчик итераций. Это ленивый цикл и тебе приходится ему самому тыкать носом что ему делать. Итак... я тебе показываю как сделать while, ты согласно своим новым мыслям переделываешь программу
+ 1
А hit и miss можно вообще не использовать, просто их удалить, если они только усложняют понимание. Вместо этого можно просто к количеству очков или добавлять 10, либо вычитать 20
+ 1
И их не 4 разных значения, а только 2. Просто они повторяются в разных комбинациях 4 раза
+ 1
Подсказка: самый первый урок по питону. Как пишется? (фраза Python is awesome!)
+ 1
Да, проверяй. Только пробелы ставь в конструкции if-else
+ 1
Боже мой, спасибо Вам большое! Да, наконец то заработало! В других интерпретаторах к сожалению пока нет, но я хотя бы задание сделал)) ещё раз спасибо!
+ 1
Да обязательно ознакомлюсь) Вы правда очень помогли, я два дня честно пытался понять логику. До этого вообще не возникало затруднений. Спасибо!!!
+ 1
Спасибо вам огромное! В этой задаче в ступор вошла, оромное спасибо за разъяснения