一锅兔子 发表于 2022-1-8 17:42:43

一个扔飞镖小游戏,为啥统计命中次数的位置一直报错

#扔飞镖的小游戏
#定义棋盘
lax=[]
for i in range(1,11):
    lax.append(i)
mz=0#命中次数

#定义飞镖
class Darts:
    def put (self):
      import random as r
      darx=r.randint(1,10)
      if darx in lax:
            print('恭喜你,命中目标')
            print('你的分数是%d'%darx)
            mz+=1
            print('你命中了%d次'%mz)
      else:
            print('很遗憾没有命中')
            print('你的分数是%d'%darx)

darts=Darts()
n=int(input('请输入扔飞镖的次数: '))
for m in range(n):
    print('————————————第%d次扔——————————————'%(m+1))
    darts.put()

   








m+=1这个位置有问题,但又不知道咋改,求大佬帮忙

傻眼貓咪 发表于 2022-1-8 18:23:04

本帖最后由 傻眼貓咪 于 2022-1-8 18:24 编辑

lax=[]
for i in range(1,11):
    lax.append(i)
mz=0

class Darts:
    def put (self):
      global mz # 加多这一行 <--------------------------------
      import random as r
      darx=r.randint(1,10)
      if darx in lax:
            print('恭喜你,命中目标')
            print('你的分数是%d'%darx)
            mz+=1
            print('你命中了%d次'%mz)
      else:
            print('很遗憾没有命中')
            print('你的分数是%d'%darx)

darts=Darts()
n=int(input('请输入扔飞镖的次数: '))
for m in range(n):
    print('————————————第%d次扔——————————————'%(m+1))
    darts.put()

傻眼貓咪 发表于 2022-1-8 18:36:44

稍微做了修改:from random import *

class Darts:
    def __init__(self, score = 0, time = 0):
      self.score = score
      self.time = time

    def throwDarts(self):
      point = randint(1,10)
      if point > 6:
            self.time += 1
            self.score += point
            print(f"恭喜你,命中目标\n你命中了 {self.time} 次,命中目标分数是:{point}")
      else:
            print(f"很遗憾没有命中,目标分数是:{point}")
      print(f"你现在累计的分数是:{self.score}")

game = Darts()
n = int(input("请输入扔飞镖的次数: "))

for i in range(1, n+1):
    print(f"————————————第 {i} 次扔——————————————")
    game.throwDarts()

一锅兔子 发表于 2022-1-8 19:08:22

傻眼貓咪 发表于 2022-1-8 18:23


感谢,在书里到这个关键词了
页: [1]
查看完整版本: 一个扔飞镖小游戏,为啥统计命中次数的位置一直报错