Ниже приведен код:

start = 1
end = 3
a = "one"
b = "two"
for x in range(start, end + 1):
    print a
    print b
    print b
    print b

Выход:

one
two
two
two
one
two
two
two
one
two
two
two

Пожеланная выходная мощность:

one
two
two
two
two
one
one
one
one
two
two
two

Кто-нибудь, пожалуйста, помогите мне получить желаемый результат

В первый раз выведите a, затем три раза b, во второй раз выведите b, затем три раза a, в третий раз выведите a, затем три раза b и так далее

-5
meteor23 13 Июн 2017 в 18:12

2 ответа

Итак, в основном вы хотите, чтобы a и b менялись местами в последующих итерациях. Просто добавьте это:

a, b = b, a

В конце вашего цикла ...

4
Błotosmętek 13 Июн 2017 в 18:15
Правильный ответ, еще одно возможное предложение - изменить повторяющийся print b с помощью цикла.
 – 
Dylan Meeus
13 Июн 2017 в 18:17

По сути, вы создаете цикл, который запускает код, который выводит a, а затем b три раза. Затем этот код просто повторяется столько раз, сколько выполняется цикл. Что вы можете сделать, так это использовать логическое значение, которое меняет значение между истиной и ложью после каждого цикла.

start = 1
end = 3
a = "one"
b = "two"
Start_A = True
for x in range(start, end + 1):
if Start_A == True:
    print a
    print b
    print b
    print b
    Start_A = False
elif Start_A == False:
    print b
    print a 
    print a
    print a
    Start_A = True

Что-то вроде этого дает желаемый результат.

0
Hexxar 13 Июн 2017 в 18:21