请选择 进入手机版 | 继续访问电脑版
设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
查看: 40896|回复: 46

【Python 第9课】random

[复制链接]

12

主题

0

好友

81

积分

注册会员

Rank: 2

发表于 2013-7-30 21:49:05 |显示全部楼层
之前我们用了很多次的print和input方法,它们的作用是实现控制台的输入和输出。除此之外,python还提供了很多模块,用来实现各种常见的功能,比如时间处理、科学计算、网络请求、随机数等等等等。今天我就来说说,如何用python自带的随机数模块,给我们的小游戏增加不确定性。


引入模块的方法:


from 模块名 import 方法名


看不懂没关系,这东西以后我们会反复用到。今天你只要记住,你想要产生一个随机的整数,就在程序的最开头写上:


from random import randint


之后你就可以用randint来产生随机数了。


还记得input后面的()吗,我们使用randint的时候后面也要有()。而且,还要在括号中提供两个数字,先后分别是产生随机整数范围的下限和上限。例如:


randint(5, 10)


这样将会产生一个5到10之间(包括5和10)的随机整数。


放到我们的小游戏里,用
answer = randint(1, 100)
替代
answer = 10


程序在运行时候,会产生一个1到100的随机整数,存在answer里,我们也不知道是多少,真的全靠猜了。

a83aad58d109b3de7721afd5cdbf6c81810a4c62.jpg




好了,觉得还有点意思么?我们终于一步步把这个弱智小游戏给做出来了,有没有一丁点的成就感呢?


如果你对其中的某些细节还不是很理解,恭喜你,你已经开始入门了。相信你会带着一颗追求真相的心,在编程这条路上不断走下去。


我们的课程,也才刚刚开始。




#==== Crossin的编程教室 ====#
微信ID:crossincode
QQ群:312723402


面向零基础初学者的编程课
每天5分钟,轻松学编程

f68e6e3d269759eee7be4973b3fb43166c22df15.jpg

边复习边水贴  ---- 搬运工....
回复

使用道具 举报

0

主题

0

好友

8

积分

新手上路

Rank: 1

发表于 2013-8-2 16:40:32 |显示全部楼层
本帖最后由 前前后后 于 2013-8-2 16:42 编辑

学着写了一个
import random#似乎也可以这样
secret=random.randint(1,100)
guass=0
tries=0#控制猜数字次数
print"请在1~100之间猜一个整数"
while guass!=secret and tries<6:
    guess=input()
    if guess<secret:
        print"too small"
        
        
    elif guess>secret:
        print"too large"
        tries=tries+1
if guass==secret:
    print"great"
else:print"no more guass , bad luck"
print secret
回复

使用道具 举报

0

主题

0

好友

14

积分

新手上路

Rank: 1

发表于 2013-8-15 14:12:39 |显示全部楼层
本帖最后由 gagamomo 于 2013-8-15 14:32 编辑
前前后后 发表于 2013-8-2 16:40
学着写了一个
import random#似乎也可以这样
secret=random.randint(1,100)

不错。但是出错啦,因为你英文单词拼错了。有时候是 guess, 有时候是 guass。我帮你修改一下:


import random#似乎也可以这样
secret=random.randint(1,100)
guess=0
tries=0#控制猜数字次数
print"请在1~100之间猜一个整数"

while guess!=secret and tries<6:
    guess=input()
    if guess<secret:
        print"too small"
    if guess>secret:
        print"too large"
    if guess==secret:
        print"great"
    tries=tries+1   

print"no more guess , bad luck"
print secret
回复

使用道具 举报

0

主题

0

好友

42

积分

新手上路

Rank: 1

发表于 2013-10-17 17:26:09 |显示全部楼层
from random import randint
answer=randint(1,100)
inpt=0
while inpt!=answer:
    inpt=input()
    if inpt<answer:
        print "too small"
    if inpt>answer:
        print "too big"
    if inpt==answer:
        print "bang go"
成功了,感谢lz
回复

使用道具 举报

0

主题

0

好友

12

积分

新手上路

Rank: 1

发表于 2013-12-26 15:54:29 |显示全部楼层
本帖最后由 roy 于 2013-12-26 15:56 编辑

学习中。。。
#coding UTF-8
from random import randint
Answer=randint(1,100)
totoal=10
left=0
num=0
time=0  
print 'plese input the number you  guess!!!'
while int(num) != Answer:
    while time<=totoal :
        num=int(input());  
        time+=1
        left=totoal-time
        if num>Answer:
            print 'too   big,you have['+str(left)+']times'
        elif num<Answer:
            print 'too small,you have['+str(left)+']times'
        elif num==Answer:
            print 'congratulations you get it!'            
    else:
        print 'sorry,you have get more then 3 time,can not try again!'
   
回复

使用道具 举报

0

主题

0

好友

4

积分

新手上路

Rank: 1

发表于 2014-1-2 22:40:32 |显示全部楼层
from random import randint
num=randint(0,100)

print 'guess what i think?'
answer=False
while answer==False:
    answer=input()
    if answer>num:
        print 'too big.'
    if answer<num:
        print 'too small'
    if answer==num:
        print 'bingo.'
        answer=True

为什么在运行的时候只输入1次结果就结束了?
而from random import randint
num=randint(0,100)

print 'guess what i think?'
bingo=False
while bingo==False:
    answer=input()
    if answer>num:
        print 'too big.'
    if answer<num:
        print 'too small'
    if answer==num:
        print 'bingo.'
        bingo=True
就可以正常运行。
为什么要另外设置一个bingo出来呢? 全部用一个不可以么?
回复

使用道具 举报

174

主题

45

好友

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

发表于 2014-1-3 10:19:32 |显示全部楼层
葫芦娃 发表于 2014-1-2 22:40
from random import randint
num=randint(0,100)

用一个也是可以的,你可以试试改下程序
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

0

主题

0

好友

68

积分

注册会员

Rank: 2

发表于 2014-6-11 15:33:55 |显示全部楼层
roy 发表于 2013-12-26 15:54
学习中。。。
#coding UTF-8
from random import randint

C:\Users\Public\Pictures\Sample Pictures\sorry.png (不知道能不能插到图。)

我按着这个运行,试着超过次数的方式,剩余0次之后,一直会print最后一句“sorry,you have get more then 3 time,can not try again!”。不知道怎么改造
回复

使用道具 举报

0

主题

0

好友

68

积分

注册会员

Rank: 2

发表于 2014-6-11 15:40:58 |显示全部楼层
roy 发表于 2013-12-26 15:54
学习中。。。
#coding UTF-8
from random import randint

后来试了一下,我的想法是在最后print后加一句num=Answer
回复

使用道具 举报

0

主题

0

好友

97

积分

注册会员

Rank: 2

发表于 2014-8-9 23:00:38 |显示全部楼层
我用的版本是3.4 有时候改代码用到退格键删除的时候会出校一个小方框替代原来的字符,不知道是为什么呢?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-4-17 07:58 , Processed in 0.059218 second(s), 25 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部