我觉得这是非常直截了当和容易阅读的代码,但我想知道是否有一个简单或更有效的方法来写这个。 这是我第一个项目的开始。你知道吗
import random
command = "".lower()
def dice():
while True:
dice_entry = input(":> ").lower().strip()
if dice_entry == "help":
print("""
Valid commands include:
Coin, d4, d6, d8, d10, d12 or d20
in order to roll the corresponding dice
or flip a coin.
Type Quit to close program.""")
elif dice_entry == "coin":
print("".join(random.choices(['Heads', 'Tails'])))
elif dice_entry == "d4":
print(random.randint(1, 4))
elif dice_entry == "d6":
print(random.randint(1, 6))
elif dice_entry == "d8":
print(random.randint(1, 8))
elif dice_entry == "d10":
print(random.randint(1, 10))
elif dice_entry == "d12":
print(random.randint(1, 12))
elif dice_entry == "d20":
print(random.randint(1, 20))
elif dice_entry == "quit":
break
else:
print("Invalid command. Type \"Help\" for list of valid commands.")
当然有:
变量命名:您的变量dice\u条目名称不正确。你也可以扔硬币,或退出,或键入与骰子无关的帮助。你知道吗
使用
random.choices
:您可以使用random.choice
,而不要使用"".join
WET:有些代码被多次复制,您可以使用一个函数。你知道吗
无用代码:命令变量的作用是什么?尤其是
"".lower()
的意义是什么?为什么不干脆""
一种选择是使用寻址字典:
这是live example
相关问题 更多 >
编程相关推荐