- 主题:弱问:random
每次调用randint时返回的结果是个随机数,但是返回之后就确定了,
以后再引用就是“返回的那个时刻定下来的数”。
要每次得到不同的随机数,需要每次都调用randint,而不是把结果
保存到一个变量里然后每次使用这个变量。
【 在 HYNOS 的大作中提到: 】
: 作为文科生,刚开始看python,问题可能比较弱智。。
: 如果a=random(1,9),那么a是一个1-8之间的随机数,但我测试结果是,每次print 都出
: 来的是同一个固定的数:
: ...................
--
FROM 122.225.220.*
一般编程语言都是使用call by value、call by reference
的求值策略,所以楼主这个问题对大部分程序员来说,思路
有点偏……
但会不会真的有一种求值策略,在给变量赋值时没进行任何
计算,后面每次使用变量值时才*重新*计算……
【 在 pixYY 的大作中提到: 】
: 呵呵,这个问题问的,不愧达到了文科生的水平 :)
: 没有嘲笑的意思,欢迎多交流,任何技术大家都是从零基础走过来的
--
修改:adoal FROM 122.225.220.*
FROM 122.225.220.*
你这个理解还是有问题。
random本身不是个数,是运行了之后随机返回一个数的一段程序。
所以每次调用返回的不一样,但前提是每次都去现场调用,而不是
把返回值保存起来,后续再每次使用这个返回值。
值固定的是a这个变量。注意你写的是“a=”random……
关键在这个“a=”上。
【 在 HYNOS 的大作中提到: 】
: 我理解“random(x,y)”就是一个指定范围内的“随机变化的数”,现在知道它其实是一
: 个“随机生成的特定数”
--
FROM 122.225.220.*
Pascal的:=和Julia的<-就好理解了
【 在 flw 的大作中提到: 】
: 问题是这个 a= 根本不是定义的意思。
: 对于等号的误解是新程序员要经历的第一关。
: 我刚开始学 BASIC 的时候也怎么都理解不了 a = a+1
: ...................
--
FROM 122.225.220.*
我见过用3的……好在文件底部用注释写了一个vim缩进导引行
【 在 hongyan2022 的大作中提到: 】
: 哈哈
: 可以试试3 6 9
--
FROM 122.225.220.*
函数式语言里自由变量绑定了调用某个函数的返回值之后也就定了,
不会在每次使用的时候变化的
【 在 jimmycmh 的大作中提到: 】
: 函数式编程语言里,=就是楼主理解的那个意思
--
FROM 220.191.37.*
我到不是觉得奇数别扭,而是非常规的缩进格数
太折腾,除非有前面说的那种在注释行里给编辑器
做导引的办法,否则还要额外配置编辑器
【 在 hongyan2022 的大作中提到: 】
: 其实python本身没有反对任何具体的数字
: 一般人,可能自然的会觉得奇数比较别扭
--
FROM 220.191.37.*
哈哈哈哈,你不说我都记不起来早些年学BASIC时用?代替PRINT了
【 在 Madlee 的大作中提到: 】
: 那个年代一个字符都是宝贵的,print都要简化成?
--
FROM 220.191.37.*