这个Dice滚动代码是否具有良好的风格

时间:2018-01-06 05:40:25

标签: python python-3.x dice

大家好我刚刚开始做自己的项目,我希望在我完成这些工作的时候,我可以确保尽可能整洁和优雅地编写代码,因为我主要是自学。

所以我想知道这是否是执行此Dice滚动代码的最佳方式:

Game = input("Hello there! Would you like to bet your luck on a dice roll?\n")
if Game == "yes"or"Yes":
    print("Well great! Here we go!");
    import random;
    print(random.randint(1, 6));
else:
    print("I guess next time then...");

特别围绕" if语句"并试图说明使用大写或非大写的人。或者只是如何为人们创造一种更好的方式来提出各种答案。

谢谢

2 个答案:

答案 0 :(得分:0)

  

所以我想知道这是不是最好的方法来做这个骰子滚动   代码:

简短:否。

Game = input("Hello there! Would you like to bet your luck on a dice roll?\n")

这样可行,但你应该使用小写字母来表示你的游戏'变量,因为这种风格(在PEP 8中称为“CapWords'”)是为类名保留的。

if Game == "yes"or"Yes":

这基本上执行如下:

if (Game == "yes") or "Yes":

你看到这里会出问题吗?你可能想要这样的东西:

if Game == "yes" or Game == "Yes":

但更好的是:

if Game.lower() == "yes":

这首先将输入转换为小写,因此基本上忽略了用户使用的任何大小写。

    print("Well great! Here we go!");

此行没有任何问题,除了&#39 ;;'在Python中不需要。

    import random;

导入应位于文件的顶部。

    print(random.randint(1, 6));

再次,&#39 ;;'不应该使用。

else:
    print("I guess next time then...");

再次,&#39 ;;'不应该使用。

如果我要编写此程序,它将如下所示:

import random

answer = input("Hello there! Would you like to bet your luck on a dice roll?\n")

if answer.lower() == "yes":

    print("Well great! Here we go!")

    print(random.randint(1, 6))

else:

    print("I guess next time then...")

答案 1 :(得分:0)

  

或者只是如何为人们提供更好的方式来提供各种答案。

如果您要扩展可能的答案,那么您的if声明会变得非常冗长和丑陋:

if game.lower() == "yes" or game.lower() == "y" or game.lower() == "uh huh" # and so on...

所以,最好将它们放在一个元组中,然后检查它们的答案是否在元组中:

if game.lower() in ("yes", "y", "uh huh"):
    # the rest of your code here...