好吧,我有这个怪物,你怎么简化它?使用循环?你知道吗
if season in range(1, 5):
if episode_num == 1:
if season == 1:
subprocess.Popen([player_path, s1_path + episodes_s1[0]])
elif season == 2:
subprocess.Popen([player_path, s2_path + episodes_s2[0]])
elif season == 3:
subprocess.Popen([player_path, s3_path + episodes_s3[0]])
else:
subprocess.Popen([player_path, s4_path + episodes_s4[0]])
elif episode_num == 2:
if season == 1:
subprocess.Popen([player_path, s1_path + episodes_s1[episode_num-1]])
elif season == 2:
subprocess.Popen([player_path, s2_path + episodes_s2[episode_num-1]])
elif season == 3:
subprocess.Popen([player_path, s3_path + episodes_s3[episode_num-1]])
else:
subprocess.Popen([player_path, s4_path + episodes_s4[episode_num-1]])
elif episode_num == 3:
if season == 1:
subprocess.Popen([player_path, s1_path + episodes_s1[episode_num-1]])
elif season == 2:
subprocess.Popen([player_path, s2_path + episodes_s2[episode_num-1]])
elif season == 3:
subprocess.Popen([player_path, s3_path + episodes_s3[episode_num-1]])
else:
subprocess.Popen([player_path, s4_path + episodes_s4[episode_num-1]])
elif episode_num == 4: ...
季和集数是input()获取的
player_path和sX_path是字符串
剧集
这是我的建议。我试图保持数据结构定义的可读性和简单性。主要思想是将
sX_path
与episodes_sX
链接起来(在我的例子中是一个列表):比如说:
更改数据结构可能更容易。你知道吗
例如
现在您可以访问它们而不需要所有的IF语句
所以你可以直接回来
相关问题 更多 >
编程相关推荐