设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
查看: 41930|回复: 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
边复习边水贴  ---- 搬运工....
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

47#
发表于 2020-3-14 17:14:46 |只看该作者
哦哦UP 发表于 2020-3-13 22:31
我不明白为什么从1加到100是这么个求和,能不能给拆解一下运算步骤。我一直觉得a=a+1 b=b+a得出的是一个 ...

“这么个求和”?怎么个求和?
这一课说的randint(1,100)是1~100里产生随机数,不是求和

#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

0

主题

0

好友

40

积分

新手上路

Rank: 1

46#
发表于 2020-3-13 22:31:52 |只看该作者
哦哦UP 发表于 2020-3-13 22:29
0

我不明白为什么从1加到100是这么个求和,能不能给拆解一下运算步骤。我一直觉得a=a+1 b=b+a得出的是一个随机数字
回复

使用道具 举报

0

主题

0

好友

40

积分

新手上路

Rank: 1

45#
发表于 2020-3-13 22:29:25 |只看该作者
0
回复

使用道具 举报

4

主题

1

好友

65

积分

注册会员

Rank: 2

44#
发表于 2018-3-22 12:41:35 |只看该作者
from random import randint
num = randint(1,100)
answer = 101


while answer != num:
    print("Guess what I think?")
    answer = int(input())
    if answer < num:
        print("too small,just guess again")
    if answer > num:
        print('too big,just guess again')
    if answer == num:
        print("Congratulations,guess right")
        num = randint(1,100)
        print("Do you want to go on ?")
        answer1 = input()
        if answer1 == "yes":
            continue
        elif answer1 == "no":
            print("Goodbye....")
            break
        else:
            continue

,看着文章,自己写的,不错,加油!
回复

使用道具 举报

1

主题

0

好友

87

积分

注册会员

Rank: 2

43#
发表于 2017-4-17 08:50:06 |只看该作者
from random import randint
a=randint(1,100)
m=1
print "guess what I think"

while m>0:
    m=input()
    if a>m:
        print"too little"
    if a<m:
        print"too big"
    if a ==m:
        print"good,you're right"
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

42#
发表于 2017-3-30 23:41:46 |只看该作者
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

0

主题

0

好友

6

积分

新手上路

Rank: 1

41#
发表于 2017-3-30 14:42:27 |只看该作者
自己稍微改了下。

import random
secret = random.randint(1,100)
guess = 0
tries = 0
print("Guess a number between 1 and 100:")

while guess != secret and tries < 6:
    guess = int(input())
    if guess < secret:
        print("too small")
        tries += 1
    elif guess > secret:
        print("too big")
        tries += 1
    else:
        print("bingo")
    if tries == 6:
        print("no more guess,bad luck")
        print("The number is actually",secret)

回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

40#
发表于 2017-3-1 16:51:16 |只看该作者
rhent 发表于 2017-3-1 14:22
新人来学习。Python3里字符串不能直接和数字比较,请问应该设置变量的时候怎么改写呢?
比如
secret=rando ...

你这个代码不会报错吧,你说的是input?

可以写成 guess = int(input())
转成int后再比较
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

0

主题

0

好友

14

积分

新手上路

Rank: 1

39#
发表于 2017-3-1 14:22:50 |只看该作者

新人来学习。Python3里字符串不能直接和数字比较,请问应该设置变量的时候怎么改写呢?
比如
secret=random.randint(1,100)
guess=0
tries=0
if guess<secret:
会报错TypeError: unorderable types: str() < int()
回复

使用道具 举报

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

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

GMT+8, 2024-5-4 18:15 , Processed in 0.029809 second(s), 25 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部