- 主题:弱问:random
作为文科生,刚开始看python,问题可能比较弱智。。
如果a=random(1,9),那么a是一个1-8之间的随机数,但我测试结果是,每次print 都出
来的是同一个固定的数:
>>> a=random.randint(1,99)
>>> print(a)
9
>>> print(a)
9
>>> print(a)
9
>>>
为什么每次print不是一个随机变化的数呢?
--
FROM 118.212.215.*
多谢各位指导,以后这种若问题估计还会有,请多指教:)
【 在 pixYY 的大作中提到: 】
: 呵呵,这个问题问的,不愧达到了文科生的水平 :)
: 没有嘲笑的意思,欢迎多交流,任何技术大家都是从零基础走过来的
--
FROM 118.212.215.*
嗯,刚开始,对着网上教程学的。发现这东西真有意思啊,后悔入错行了。。
今天不看参考编成功了一个简单的:
import time,random
me_win=0
en_win=0
for i in range(1,4):
print('round',i)
me_life=random.randint(1,101)
en_life=random.randint(1,101)
me_attt=random.randint(31,51)
en_attt=random.randint(31,51)
print('初始值:我的生命%d,敌人生命%d' %(me_life,en_life))
time.sleep(1)
while True:
en_life=en_life-me_attt
print('enemy life',en_life)
me_life=me_life-en_attt
print('My life',me_life)
time.sleep(1)
if me_life>0 and en_life<0:
print('I win')
me_win=me_win+1
break
if me_life<0 and en_life>0:
print('Enemy win')
en_win=en_win+1
break
if me_life<0 and en_life<0:
print('both over')
if me_life>en_life:
print('I win')
me_win=me_win+1
break
else:
print('enemy win')
en_win=en_win+1
break
if me_win>en_win:
print('finally I win',me_win,'vs',en_win)
else:
print('finally enemy win',en_win,'vs',me_win)
【 在 pixYY 的大作中提到: 】
: 呵呵,这个问题问的,不愧达到了文科生的水平 :)
: 没有嘲笑的意思,欢迎多交流,任何技术大家都是从零基础走过来的
--
FROM 118.212.215.*
是的。。
【 在 GoSox 的大作中提到: 】
: 你不是家里发大水那位吗
: 发自「今日水木 on 辽宁舰」
--
FROM 118.212.203.*
我理解“random(x,y)”就是一个指定范围内的“随机变化的数”,现在知道它其实是一
个“随机生成的特定数”
【 在 origin008 的大作中提到: 】
: 文科生应该比较能理解刻舟求剑这个成语啊
--
FROM 118.212.203.*
现在我理解的也就是这个意思,但是你表述的更为严谨清晰。
【 在 adoal 的大作中提到: 】
: 你这个理解还是有问题。
: random本身不是个数,是运行了之后随机返回一个数的一段程序。
: 所以每次调用返回的不一样,但前提是每次都去现场调用,而不是
: ...................
--
FROM 118.212.203.*
感谢鼓励。
教程一共34章,刚学到第6章。身边的朋友有好几个都说前面简单,后面放弃了。。
我也是抱着挑战一下试试的心态 233
【 在 donald2020 的大作中提到: 】
: 我也有这个感觉
: 非常有天分
--
FROM 118.212.203.*
print(random.randint(1,9)) ?
【 在 ToSimplicity 的大作中提到: 】
: 很好!这个错误说明楼主深刻理解了万物皆object的核心理念
: 既然楼主已经知道这是个错误,那么来个练习:
: 实现一个a,使得print(a)会得到1-8之间的随机数,而不是每次都输出同一个结果
: ...................
--
FROM 61.180.25.*