Я пытаюсь создать генератор случайной рутины, но, похоже, он печатается неправильно - PullRequest
0 голосов
/ 01 апреля 2020

Я пытаюсь создать генератор рутины, который будет случайным образом выбирать рутину, а затем случайным образом выбирать более детальную рутину. Например, одна из обязанностей - это «Собака на прогулке», а затем я хочу, чтобы компьютер выбрал место для прогулки.

import random
import time

print ('Hello!')

choices = ('Play PC', 'Walk Dog', 'Tidy house')
games = ('Siege', 'GTA', 'Minecraft')
places = ('Park up the road', 'Park near gym', 'park near school')

print (random.choice(choices))
if random.choice(choices) == 'Play PC':
  print (random.choice(games))
if random.choice(choices) == 'Walk Dog':
  print (random.choice(places))

Ответы [ 2 ]

2 голосов
/ 01 апреля 2020

Каждый вызов random.choice(places) создает другой случайный выбор, сильно отличающийся от предыдущего. Вы должны назвать это один раз, а затем оценить:

choide = random.choice(places)
print (choice)
if choice == 'Play PC':
  print (random.choice(games))
elif choice == 'Walk Dog':
  print (random.choice(places))
2 голосов
/ 01 апреля 2020

Вам нужно сохранить первый выбор внутри переменной - не делать еще один случайный выбор:

import random
import time

print ('Hello!')

choices = ('Play PC', 'Walk Dog', 'Tidy house')
games = ('Siege', 'GTA', 'Minecraft')
places = ('Park up the road', 'Park near gym', 'park near school')

c = random.choice(choices)
print(c)
if c == 'Play PC':
  print (random.choice(games))
elif c == 'Walk Dog':  
  print (random.choice(places))

Выбрав дважды, вы можете получить (случайным образом) два разных результата.

Выходы 3 работает:

Hello!
Play PC
Minecraft

Hello!
Walk Dog
Park near gym

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