1

我对python很陌生,我写了一个简单的二十一点算牌应用程序。该应用程序运行并在用户输入结束后,我希望它继续要求用户输入并打印计数。我不希望它重新启动,我希望它继续。我已经包含了源代码。多谢你们。

count = 0

var = int(raw_input("Enter the value of the card: "))

if var == 1 :
      print count + 1
elif var == 2 :
      print count + 1
elif var == 3 :
      print count + 1
elif var == 4 :
      print count + 1
elif var == 5 :
      print count + 1
elif var == 6 :
      print count + 1
elif var == 7 :
      print count + 0
elif var == 8 :
      print count + 0 
elif var == 9 :
      print count + 0 
elif var == 10 :
      print count - 1 
elif var == 11 :
      print count - 1
4

1 回答 1

1

要让程序一直运行到用户停止提供输入,您可能需要将代码放入循环中。当while您提前不知道需要循环多长时间时,循环通常是最好的。

count = 0
while True: # runs forever
    var = int(raw_input("Enter the value of the card: "))

    # if/elif block goes here

但是,一旦这样做,您会发现代码中存在逻辑错误。count + 1目前,您每次都在 if/elif 块之一中打印或类似内容。但是,这不会修改 的值count,它只是直接打印新值。我认为您需要做的是更改代码以直接count在 if/else 块中修改,然后在单独的步骤中将其写出来。您还可以使用<or组合您的几个条件>,如下所示:

    if var < 7:
        count += 1
    elif var > 9:
        count -= 1

    print count

您可以选择添加一些额外的错误检查以确保输入的值是适当的(例如,介于 1 和 11 之间),但为了清楚起见,我在此处将其关闭。

于 2012-12-15T19:46:03.397 回答