【问题标题】:How can I make this a little less hideous? Python我怎样才能使它不那么可怕? Python
【发布时间】:2019-09-09 19:11:44
【问题描述】:

我正在创建一个打印随机生产活动的简单程序。这是该程序的“简化”版本。

import random

meditate = ['sitting down meditation','lying down meditation','standing meditation']
exercise = ['go for run','do yoga']
call_text_fam = ['call mom', 'call dad']

activity_list = [meditate, exercise, call_text_fam]

activity_list_spinner = random.randint(0,len(activity_list)-1)

meditate_spinner = random.randint(0,len(meditate)-1)
exercise_spinner = random.randint(0,len(exercise)-1)
call_text_fam_spinner = random.randint(0,len(call_text_fam)-1)

if activity_list[activity_list_spinner] == meditate:
    print(activity_list[activity_list_spinner][meditate_spinner])
elif activity_list[activity_list_spinner] == exercise:
    print(activity_list[activity_list_spinner][exercise_spinner])
elif activity_list[activity_list_spinner] == call_text_fam:
    print(activity_list[activity_list_spinner][call_text_fam_spinner]) 

这将很快变得巨大,所以任何关于如何清理它的想法都会很棒。

【问题讨论】:

  • 还要查看 random.choice
  • 例如,在这种情况下,您不需要拥有ifelif。假设activity_list[activity_list_spinner] 一次只能是这三件事之一,你真的只需要以if 语句开始每个条件。但我想既然您使用的是random,一切皆有可能

标签: python redundancy


【解决方案1】:

为了说明 Chris 的评论,后半部分可以简化为:

activity_list = [...]

print(random.choice(random.choice(activity_list)))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-30
    • 1970-01-01
    • 2011-08-22
    • 1970-01-01
    • 2017-09-18
    • 1970-01-01
    • 2011-07-10
    相关资源
    最近更新 更多