[理性讨论]初学python,模拟的骑勇大战什么水平

浓眉炸天
引用 @老哥稳如脱缰野马 发表的:
吃我一帽

很容易被钻档 没什么用

k
kevin_xy
引用 @老哥稳如脱缰野马 发表的:
吃我一帽

哈哈哈哈哈哈哈笑死啊

八策89
引用 @我很强我知道 发表的:
扣篮和两分是一个命中率啊,三个数字分别是三分出手占比,三分命中率,两分命中率

感觉可以在加一个比分的变量,就很直接了,不过已经很厉害了

虎扑用户334403
这是蒙卡的思路啊,可以写循环让程序多运行几千上万次,统计每次的得分再计算两队的得分的期望和方差 这样预测的会更准一点 不然一次随机计算的不确定性比较大

没有追的谁
引用 @老哥稳如脱缰野马 发表的:
吃我一帽

场均踩死十人?

W
Well17
引用 @老哥稳如脱缰野马 发表的:
吃我一帽

说了多少次,防守不要跳!

彦祖u
引用 @赤司复活 发表的:
还不复杂。。。。

没基础的人看的觉得是天书,但学过编程的这就是最基础的面向对象。

虎扑用户808618
引用 @王世奇 发表的:
你肯定没有任何编程基础,仅评价这段代码基础的不能再基础了

我特么说人家刚学就能做一个这样的算厉害了 你在这装啥呢

l
lucienma
没有考虑罚球和前场板吗?

大将军冉闵
统计得分的话,可以使用类属性,即在类名下面定义属性,不是实例属性,也就是不带self,调用类属性可以使用静态方法,参考一下

铁皮铲子
引用 @老哥稳如脱缰野马 发表的:
吃我一帽

得亏火柴盒弹跳
不然吊就被砸了
虎扑用户345271
我觉得对于初学者很好啊,可以把继承用进去,区分一下每个球员的不同,

佩奇弟弟泡椒乔治
引用 @老哥稳如脱缰野马 发表的:
吃我一帽

砸人犯规了

韦德不老纳什拉风
引用 @广东FC 发表的:

这还虚晃加后撤

韦德不老纳什拉风
引用 @2GigiKobe24 发表的:
看不起谁都不能看不起金州拉文

这滞空,我哭了

虎扑用户914825
可以定义两个全局变量分别表示骑士和勇士的初始分数,然后就在进球的函数里叠加统计就行了,不过你得判断好是哪队进球了就叠加哪队的那个变量,所以你这个球员类还得有一个是标示哪一队的属性,这样就好判断哪队进球加分了。

虎扑用户537760
引用 @老哥稳如脱缰野马 发表的:
吃我一帽

只能靠遭干扰球才可能进球

我是DBB是我
引用 @老哥稳如脱缰野马 发表的:
吃我一帽

真就跳起来打膝盖额

詹姆斯的追帽
引用 @纵然是齐眉举案 发表的:
你们这些是咋做的

我是从2k9开始玩的,以前都用梦幻星辰,后来就不知道了。

T
Tonyclint
引用 @我很强我知道 发表的:
刚开始学,写的确实比较简单,有啥具体的建议嘛,哪里可以改进一下

命中率可以引用官方数据库

虎扑用户445195
引用 @鹕人总管军 发表的:
承认人家厉害很难吗

…,真的不厉害。本人就是程序员

S
Stephen14
是不是在家贼无聊哈哈哈

虎扑用户069065
楼主是不是可以在shoot和dunk将一次出手的分数作为函数值返回 在while循环设置两个变量作为两对得分 分别对每次出手的得分求和

美职篮名人堂球员鲁代日
虽然感觉挺基础的,但好像蛮好玩的

让我康康我的康康
老哥,上传下github

阿文017
最近也在学python,感觉就是方法都能明白,但是用不出来,看到这个觉得自己学的还是不够活,楼主牛逼

驫龘
引用 @鹕人总管军 发表的:
我特么说人家刚学就能做一个这样的算厉害了 你在这装啥呢

刚学能做一个这个真的不厉害

吹吹海风~~~
引用 @马房山上石楠花开 发表的:
老哥,你真的是初学的吗?🤣🤣🤣

老哥你是武理的嘛。。。

甩毛鸡
引用 @2GigiKobe24 发表的:
看不起谁都不能看不起金州拉文

果然是扣篮悍将,隔扣两大个,拉都拉不下来

虎扑用户191509
统计分数很简单 可以新建一个team类 类里添加一个point的属性 然后player类构造函数新增一个team参数 程序开始时候初始化两个team类实例 创建player实例时将对应的team参数传进去 然后在player类里面打进球的地方增加分数就可以了 最后比赛结束 输出两个team实例的point属性的值就完成了分数统计了🐶🐶

R
Regreting
引用 @赤司复活 发表的:
还不复杂。。。。

其实这些都是基本的语句和一些循环什么的 没有啥算法或者复杂的结构 确实不复杂 不过楼主的想法确实很有意思哈哈哈哈哈哈哈哈 而且用这些东西就能实现这么一个有趣的东西感觉楼主很有才啊!

凯文贺兰特
引用 @马房山上石楠花开 发表的:
老哥,你真的是初学的吗?🤣🤣🤣

常见的面相对象编程吧,python学起来其实挺快,也挺好用的。

载鬼一车
引用 @艾题兔得 发表的:
我觉得根本不用跳那一下,大家觉得呢?

差点踩死几个

西
西九龙坡重案组
引用 @我和库里五五开丶 发表的:

你就惯着他吧

鹤屋
代码格式不错,但球员实例记得用小写哦

k
kitliu
引用 @老哥稳如脱缰野马 发表的:
吃我一帽

哈哈哈哈当你最火的2k11十米姚明!👴🏻的青春啊

t
tangyh888
引用 @凯里不拉杆要死欧文 发表的:
看不起谁呢?



s
smalltomas
加油 把罚球也写出来

L
Lovtifa
666,我刚学只会hello world
类?那是个啥?

东北亚舞王赵四
比分好说得很,外部2个变量,传入shoot函数。c++的类可以实现同一个类成员的共享对象更方便。
另外球员初始化时该加入阵营,也就是哪个队的。

虎扑用户709565
建议生成投篮命中率时别用随机数,用依照真实投篮命中率的正态分布去随机,会准确的多

不洁的凡塔
引用 @噬雷111 发表的:
这其实不复杂,但楼主这种学习思维很好

皮姆粒子??

街球王莫福瑞
有点像我初中玩的梦幻nba

虎扑用户098886
引用 @我很强我知道 发表的:
大一的时候学过c语音,不过三四年忘得差不多了

老哥你是怎么学的,能指导一下我吗,我也想趁着无聊学一下,谢谢。

P
Python是最好的语言
引用 @鹕人总管军 发表的:
来了

牛逼老哥

虎扑用户000121
老哥有github么,分享下代码呗
虎扑用户054793
感觉你要统计比分可以这样:
def shoot(self):
    ****
    if 1 <= a <= int(self.choose):
        print ****
        if 1 <= b <= int(self.three.rate)
           print ****
           return 3
下面的dunk 函数类似添加return 2,也别忘了最后总的一个return 0

def main()
    ****
    warriorsScore = 0
    cavaliersScore = 0
    while sum_time > 0:
        ****
        if 1 <= x <= 29:
            warriorsScore += Curry.shoot()
其他的类似加一下就ok,然后把两个分数print出来

另外真的可以列个数组,你现在这个扩展性太差,可以弄个team概念,然后有name和player,外部输入的,可以弄一个csv文件,要么excel,你就可以模拟任意两个球队的比赛。接着你可以弄个schedule, 弄上比赛日期,就可以模拟整个赛季拉。也可以对player类进行扩展比如体力啥的

本人初级python,轻喷
[ 此帖被phead19872在2020-02-15 03:59修改 ]
阿甘阿泉
引用 @凯里不拉杆要死欧文 发表的:
看不起谁呢?

这个谁信啊


l
larryhsing
引用 @Funky_Star 发表的:
就这还tm后仰跳投啊……

应该手递手传球直接往框里面摁

张莫斯三分线暴扣
mark一记

我很强我知道
引用 @强壮小精灵 发表的:
老哥有github么,分享下代码呗

没有啊,也看到另一个jr说GitHub了,我还没接触过这个
我很强我知道
引用 @94天然矿泉水 发表的:
统计分数很简单 可以新建一个team类 类里添加一个point的属性 然后player类构造函数新增一个team参数 程序开始时候初始化两个team类实例 创建player实例时将对应的team参数传进去 然后在player类里面打进球的地方增加分数就可以了 最后比赛结束 输出两个team实例的point属性的值就完成了分数统计了🐶🐶

嗯嗯好,我试试
虎扑用户151643
引用 @广东FC 发表的:

垫个脚

虎扑用户449912
看来我的高中再也读不完了

S
Suomi
引用 @凯里不拉杆要死欧文 发表的:
看不起谁呢?

于老师钻裆警告

虎扑用户784697
引用 @zj1059 发表的:
c嵌入式用的多

但是c++岗位比c多好多,平均工资也高一些

虎扑用户490263
建议写成多线程 更有乐趣

虎扑用户204239
引用 @老哥稳如脱缰野马 发表的:
吃我一帽

这,这姚明怕是得三步下篮

韦恩德德韦
引用 @英俊丁帅哥 发表的:
2k人物模型没法穿hhh

不是随便穿吗?🐶

虎扑用户254456
引用 @SKG1 发表的:
不知道老哥是不是计算机专业。我们学校感觉啥都学,啥都只学一点就换别的了。我要不要专门只攻一个方向?攻C语言如何?

老哥,语言不是关键,主要是你要选择一个计算机方向,然后根据你选择的方向来选择合适的语言,比如你要做安卓开发,那java是你绕不过的坎,前端的话那就是cdth,做数据分析,python必须要懂的,网络安全偏底层的话肯定要懂c c++ ,其实没有绝对的界限,很多程序员后期都是一门主力语言,加上其他辅助语言都要懂,嗯嗯
虎扑用户254456
引用 @jiangxxx 发表的:
老哥,语言不是关键,主要是你要选择一个计算机方向,然后根据你选择的方向来选择合适的语言,比如你要做安卓开发,那java是你绕不过的坎,前端的话那就是cdth,做数据分析,python必须要懂的,网络安全偏底层的话肯定要懂c c++ ,其实没有绝对的界限,很多程序员后期都是一门主力语言,加上其他辅助语言都要懂,嗯嗯

前端打错了,是js [ 此帖被jiangxxx在2020-02-15 09:40修改 ]
g
geardesign
为啥最后还有个main()

淡若清风绕指柔丶
如果想统计每个队员得分然后队员分数一加变成全队得分可以这样做 每个队员建一个类统计该球员得分:
class player:
def __init__(self):
self.score = 0

if __name__ == "__main__":
lakers= []
celtics = []
kobe = player()
lakers.append(kobe)
print(kobe.score) #球员kobe的得分
ScoreLakers = 0
for i in lakers:
ScoreLakers += i.score
print(ScoreLakers) #球队Lakers总得分。

如果只想统计一个队伍总分只需要主队和客队建两个类就好了 亦或整俩全局变量Score1 和 Score2来统计两个队伍的比分。
PS:凯尔特人之前还拼错了 淦。。 [ 此帖被淡若清风绕指柔丶在2020-02-15 09:49修改 ]
g
geardesign
再增加个比分类,设置静态变量记录比分,应该就可以了

虎扑用户051098
太强了

虎扑用户903761
引用 @深海鱼龙 发表的:
有可能是有其它语言基础,如果是第一次接触编程语言那只能说是天赋

我第一次接触python就可以写出一个2d游戏 那我算啥?

柏林魅影
引用 @身高一米五绰号摸着天 发表的:
确实,这种能敲代码玩的人能成大事,我不学习的时候看都不想看。

你这个有逻辑冲突啊
某个时间段学不学习不就是由 看没看 定义的么。。。
我很强我知道
引用 @geardesign 发表的:
为啥最后还有个main()

调用main函数
詹皇破纪录
引用 @老哥稳如脱缰野马 发表的:
吃我一帽

防守跳一下要小心把队友踩死

1
105克纯铁
引用 @噬雷111 发表的:
这其实不复杂,但楼主这种学习思维很好

借楼,楼主你想统计比分,那可以给shoot函数加个返回值,返回得分,在主循环里定义两个int,累加就完事儿了。

用户1325143725
不错 值得提倡 你可以在PLAYER类中加一个变量SCORE然后然后加一个函数来统计球员的得分,当有人出手后就执行这个函数

虎扑用户270931
篮板 犯规 罚球啥的没考虑到哈

虎扑用户622460
引用 @广东FC 发表的:

五巨头实锤了🐶🐶

T
Theming
引用 @英俊丁帅哥 发表的:
2k人物模型没法穿hhh

讲道理手随便穿,不过确实不能整个人穿模

我不会泡椒
引用 @我很强我知道 发表的:
是啊,学了十来天,另外你这头像是我曾经用过的情头哈哈哈

曾经🐶

虎扑用户854428
还差一个tendency between shooting and dunk 还有layup. 再复杂一点还有防守的盖帽 抢断 blabla

C
Cyalul
我觉得楼主这学习思路挺牛逼的,当初我自学面向对象的时候没楼主这种生动形象的应用,学起来那叫一个痛苦

如你眷顾
引用 @德保库 发表的:
打印字符串的水平

不过很有想法,带着兴趣敲代码是最爽的

德保库
引用 @如你眷顾 发表的:
不过很有想法,带着兴趣敲代码是最爽的

是的,真正有兴趣才能更快接触到底层。能有这想法并做起来,已经比90%初学机器语言的好了

编号__9527
引用 @我很强我知道 发表的:
扣篮和两分是一个命中率啊,三个数字分别是三分出手占比,三分命中率,两分命中率

统计出球员的得分来,这样更加好点

舔狗是真的牛批
你可以上知乎搜“python项目”,里面有一些有趣的python项目推荐,你可以读读源码玩一玩,学习一下大佬的代码是怎么写的

虎扑用户034338
你这个比分还要涉及到时间,可以粗略的每次减24秒。for循环if u==self.three_rate (x+3 ) elsex+2 时间变为0时跳出循环break

虎扑用户898697
if else走天下 给劲

虎扑用户961068
计分在球员类里面加一个队伍属性,全局+两个队伍分数变量,每次得分累加并显示就OK啊。话说你每次进攻默认花光24秒,全场一共120个回合,竟然得了260分。有效命中率也太高了吧,是不是出了啥问题?

热火真核纳恩
引用 @21.6.15.14 发表的:
我感觉像极了早年间的网页游戏nba篮球范特西
不过不知道那是用什么语言写的

我也玩

虎扑用户684674
你的运行结果可以用R的sum函数来做,Python应该也有和函数

A
Aesen
引用 @老哥稳如脱缰野马 发表的:
吃我一帽

高达我日

虎扑用户007547
🐴

I
Ingian
既然面向对象,我觉得可以在你的基础上定义一个basketball类,然后时间线推动的时候focus在球怎么运动就好了

莱昂纳德不吃饼
整挺好,我昨天把你这个模型更完善了一下,😂😂,加了篮板,防守,个人得分,总分,获胜球队!