一个扔飞镖小游戏,为啥统计命中次数的位置一直报错
#扔飞镖的小游戏#定义棋盘
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: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() 稍微做了修改: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 18:23
感谢,在书里到这个关键词了
页:
[1]