【问题标题】:What is the purpose of this string in this simple exercise?在这个简单的练习中,这个字符串的用途是什么?
【发布时间】:2022-12-04 11:48:16
【问题描述】:

我是编码新手,所以我一直在做练习。这是关于用户命令启动和停止的汽车。我的问题是为什么给定的解决方案包含以下代码中的第一行?:

command = ""
started = False
while True:
    command = input("> ").lower()
    if command == "start":
        if started:
            print("The car has already started")
        else:
            started = True
            print("The car started")
    elif command == "stop":
        if not started:
            print("The car has already stopped")
        else:
            started = False
            print("The car stopped")
    elif command == "quit":
        print("Goodbye!")
        break
    elif command == "help":
        print("""start - start the car
stop - stop the car
quit- quit the game""")
    else:
        print("Sorry, I don't understand")

我尝试删除第一行并运行代码,据我所知它运行良好。如果我遗漏了一些明显的东西,我深表歉意!

【问题讨论】:

  • 没有。迷信而已。也许他们一开始说的是while command != 'quit': 而不是无限循环。
  • 如果这是整个代码就没有用,否则这个对象可以在while代码块之后使用
  • 简短回答:这是 python,你不需要像在第一行那样实例化一个字符串
  • @TimRoberts 你是对的;他们从 while command != "quit" 开始,然后将其删除以证明它可以简化。令人印象深刻的是,您可以推断出这一点。

标签: python


【解决方案1】:

我能看到的唯一原因是为了可读性。 我并不是说这是一个很好的做法,只是试着猜猜为什么要这样做。

当打开源代码时,每个人都可以看到程序将使用哪些变量及其类型。

started 必须初始化,因为它有一个初始状态。

对于command,它不需要初始化,但表明它会被使用,它的类型是str

也可以使用类型提示代替分配而不是分配空字符串。

command: str而不是command = ""

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-20
    • 1970-01-01
    • 1970-01-01
    • 2020-04-15
    • 1970-01-01
    • 2012-11-08
    • 2015-11-09
    • 1970-01-01
    相关资源
    最近更新 更多