当前位置: 首页 > 知识库问答 >
问题:

如何在python中多次使用“if”循环?[副本]

能翔宇
2023-03-14
def hit():
    global hitsum
    hitsum = 0
    v=random.choice(cards)
    c=random.choice(suits)
    if v=="Ace":
        hitsum=hitsum+1
        print "You were dealt","a",v,"of",c
    elif v=="Jack":
        hitsum=hitsum+11
        print "You were dealt","a",v,"of",c
    elif v=="Queen":
        hitsum=hitsum+12
        print "You were dealt","a",v,"of",c
    elif v=="King":
        hitsum=hitsum+13
        print "You were dealt","a",v,"of",c
    else:
        hitsum=hitsum+v
        print "You were dealt","a",v,"of",c

computer()

choice=raw_input("Would you like to hit or stay? ")
if choice=="hit":
    hit()
    totalsum = hitsum + usersum
    print "Your total is", totalsum

elif choice=="stay":
    totalsum=usersum

else:
    print "Invalid request"

这段代码是我21点游戏的摘录。我做了一个用户定义的功能,每当有人要求命中时,随机生成一张卡片。然而,这只适用于一种选择。如果我选择命中一次,我没有选择它再次。我如何纠正?

共有1个答案

晋安国
2023-03-14
choice=raw_input("Would you like to hit or stay? ")
while choice=="hit":
    hit()
    totalsum = hitsum + usersum
    print "Your total is", totalsum
    choice=raw_input("Would you like to hit or stay? ")

我强烈建议更改hithitsum的处理方式。与其让它全球化,为什么不退回呢?因此,在点击的末尾,您将

return hitsum

那么在电话里你可以做什么

totalsum = usersum + hit()

我在这里也看到了其他一些问题。下一次通过你的选择==命中循环时,用户和将回到它曾经的样子。我不认为那是你想要的。当然,您希望通过hitsum增加usersum。在这种情况下,请将总计=...替换为

usersum += hit()

最后,在hit函数中,为什么在开始时定义hitsum=0

 类似资料:
  • 我想把这个代码的答案四舍五入到小数点后两位。我尝试了很多方法,但没有一种对我有效。请帮忙!

  • 我有一个380行20列的表格。我想从该表中删除符合特定条件的行。 为了澄清问题,假设我有以下列表: 我想删除在列表中找到姓名的所有人员的数据。 例如,假设我的数据如下所示: 我想删除、和的数据。所以输出应该是: 我的代码正在运行,但数据没有从我的原始数据中删除。当我打开新的测试.txt文件时,我可以看到数据没有被删除。 我可以肯定错误在< code > if data[row][0]= =(I f

  • 我目前有一个问题,每次我试图在我的代码中使用一个以上的虽然真实循环网站崩溃。我编码与python海龟,一个很好的初学者的方式开始编码与python。所以基本上,我试图让海龟物体无限旋转,直到玩家按下空格键。当海龟物体是蓝色时,海龟被触发旋转。一旦玩家按下按钮,海龟物体就会变成绿色,标志着它停止转动,并在按下空格键之前朝着海龟物体所面对的方向前进300像素。这个小游戏的目标是击中被称为目标的红球。每

  • 问题内容: 假设您必须在python中创建10个类对象,并对其进行处理,例如: 您将如何循环处理,并为每个对象分配一个变量(如),从而使代码更短?每个对象都可以在循环外部访问 问题答案: 每天都会以不同的方式询问这个问题。答案是:将数据放在变量名之外,这是必填的博客文章。 在这种情况下,为什么不列出objs?

  • 所以我有一个简单的问题,我不是那么确定该怎么做,即使在尝试了相当长的一段时间。 我的问题是,我不太确定要键入什么,这样我的输入用户必须键入是或否,而不是键入其他东西。此外,当我尝试运行程序时,当我键入yes/no时,它直接跳转到else语句,而不是if语句。请帮忙:((我只是一个noob程序员)

  • 问题内容: 可以说我必须在for循环内使用if语句,并且for循环在特定条件下触发,而if语句仅在for循环达到特定阶段时才触发。 例如,条件是一个计数器,该计数器在发生某些事情(例如,球从屏幕上掉下来)时进行计数。每次球越过屏幕时,都会一圈绘制一个圆圈。当第一行中的圆圈到达屏幕的末端时,圆圈开始出现在第一行下方的第二行中。但是第二行对我不起作用,我已经用if语句实现了。 if语句仅在第一行的球越

  • 我试着用带有“and”的if函数。它不起作用-有更好的方法或更好的命令吗?下面是我的代码示例: 谢谢帮忙!

  • 我在一个CGdfs列表中有多个数据帧。 我想使用循环从所有这些数据帧中删除一个名为“情节”的列。我该怎么做呢? 我试过下面的方法,但不起作用