我正在尝试创建一个随机的杂项生成器,但它似乎无法正确打印

时间:2020-04-01 20:32:31

标签: python random

我正在尝试创建一个杂项生成器,该杂项生成器将随机选择一个杂项,然后在此之后随机选择一个更详细的杂项。例如,其中一项杂事是“走狗”,然后我希望计算机为我挑选一个走路的地方。

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 个答案:

答案 0 :(得分:2)

您需要将第一个选择存储在变量中-请勿再随机选择:

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

答案 1 :(得分:2)

每次调用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))