鱼C论坛

 找回密码
 立即注册
查看: 1769|回复: 3

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

[复制链接]
发表于 2022-1-8 17:42:43 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

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

  7. #定义飞镖
  8. class Darts:
  9.     def put (self):
  10.         import random as r
  11.         darx=r.randint(1,10)
  12.         if darx in lax[7:10]:
  13.             print('恭喜你,命中目标')
  14.             print('你的分数是%d'%darx)
  15.             mz+=1
  16.             print('你命中了%d次'%mz)
  17.         else:
  18.             print('很遗憾没有命中')
  19.             print('你的分数是%d'%darx)

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

  25.    






复制代码


m+=1这个位置有问题,但又不知道咋改,求大佬帮忙
最佳答案
2022-1-8 18:23:04
本帖最后由 傻眼貓咪 于 2022-1-8 18:24 编辑
  1. lax=[]
  2. for i in range(1,11):
  3.     lax.append(i)
  4. mz=0

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

  18. darts=Darts()
  19. n=int(input('请输入扔飞镖的次数: '))
  20. for m in range(n):
  21.     print('————————————第%d次扔——————————————'%(m+1))
  22.     darts.put()
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-1-8 18:23:04 | 显示全部楼层    本楼为最佳答案   
本帖最后由 傻眼貓咪 于 2022-1-8 18:24 编辑
  1. lax=[]
  2. for i in range(1,11):
  3.     lax.append(i)
  4. mz=0

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

  18. darts=Darts()
  19. n=int(input('请输入扔飞镖的次数: '))
  20. for m in range(n):
  21.     print('————————————第%d次扔——————————————'%(m+1))
  22.     darts.put()
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-1-8 18:36:44 | 显示全部楼层
稍微做了修改:
  1. from random import *

  2. class Darts:
  3.     def __init__(self, score = 0, time = 0):
  4.         self.score = score
  5.         self.time = time

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

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

  17. for i in range(1, n+1):
  18.     print(f"————————————第 {i} 次扔——————————————")
  19.     game.throwDarts()
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-1-8 19:08:22 | 显示全部楼层

感谢,在书里到这个关键词了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-24 19:19

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表