PYTHON练习题 二. 使用random中的randint函数随机生成一个1~100之间的预设整数让用户键盘输入所猜的数。

Python 练习


二. 使用random中的randint函数随机生成一个1~100之间的预设整数让用户键盘输入所猜的数,如果大于预设的数,屏幕显示“太大了,请重新输入”如果小于预设的数,屏幕显示“太小了,请重新输入”如此循环,直到猜中,显示“恭喜你,猜中了!共猜了N次”N为用户猜测次数.

答案:

import random

def guess_number():
    true_num = random.randint(1, 100)
    user_num = int(input("请输入一个整数:"))
    count = 1
    while true_num != user_num:
        if true_num > user_num:
            print("太小了,请重新输入!")
        elif true_num < user_num:
            print("太大了,请重新输入!")
        count += 1
        user_num = int(input("请输入一个整数:"))
    print("恭喜您,您猜对了!您一共猜了%d次" % count)

guess_number()

知识点

1.Python中的random模块

1.1 random 模块简介

Python标准库中的random函数,可以生成随机浮点数、整数、字符串,甚至帮助你随机选择列表序列中的一个元素,打乱一组数据等。

1.2 random 模块方法说明
  • random.random(): 函数会生成一个随机的浮点数,范围是在0.0~1.0之间
In [2]: import random

In [3]: random.random()
Out[3]: 0.6935051182120364
  • random.uniform(a, b): 函数随机生成一个处于范围[a,b]的浮点数
In [26]: random.uniform(0, 100)
Out[26]: 26.977426505683276
  • random.randint(a, b): 随机生成一个范围[a, b]内的整数(int类型)
In [28]: random.randint(1,2)
Out[28]: 2

In [29]: random.randint(1,2)
Out[29]: 1
  • random.choice(): 可以从任何序列,比如list列表中,选取一个随机的元素返回,可以用于字符串、列表、元组等。

参数为列表时:

In [31]: random.choice([1,2,3])
Out[31]: 3

In [32]: random.choice([1,2,3])
Out[32]: 1

参数为字符串时:

In [38]: random.choice("i am a bad boy")
Out[38]: ‘y‘

In [39]: random.choice("i am a bad boy")
Out[39]: ‘b‘

参数为元祖时:

In [41]: random.choice((1,3,7,4))
Out[41]: 1

In [42]: random.choice((1,3,7,4))
Out[42]: 7
  • random.shuffle: 如果你想将一个序列(不包括元祖和字符串)中的元素,随机打乱的话可以用这个函数方法
In [49]: list = [1,2,3,4]

In [50]: random.shuffle(list)

In [51]: list
Out[51]: [4, 2, 1, 3]
  • random.sample(a, b): 从序列a中随机且独立的截取指定长度b的片段。

In [58]: b = (9,9,9,1,2)

In [59]: random.sample(b, 2)
Out[59]: [9, 1]

In [60]: random.sample(b, 2)
Out[60]: [1, 9]

In [61]: random.sample(b, 2)
Out[61]: [1, 9]

In [62]: random.sample(b, 2)
Out[62]: [1, 9]

In [63]: random.sample(b, 2)
Out[63]: [2, 9]

In [64]: list = [1,2,3,5,7,94,2]

In [65]: random.sample(list, 3)
Out[65]: [1, 5, 7]

In [66]: random.sample(list, 3)
Out[66]: [2, 2, 5]

In [67]: random.sample("i am a bad boy", 3)
Out[67]: [‘ ‘, ‘a‘, ‘b‘]

In [68]: random.sample("i am a bad boy", 3)
Out[68]: [‘a‘, ‘y‘, ‘b‘]

2. python中random模块的randint与numpy.random模块的randint的区别

  • random.randint(a, b) # 随机返回闭区间 [a, b] 范围内的整数值
  • numpy.random.randint(a, b) # 随机返回开区间 [a, b) 范围内的整数值
In [69]: random.randint(0,1)
Out[69]: 0  

In [70]: random.randint(0,1)
Out[70]: 1

In [71]: numpy.random.randint(0,1)
Out[71]: 0

In [72]: np.random.randint(0,1)
Out[72]: 0

原文地址:https://www.cnblogs.com/halooyan/p/9011839.html

时间: 2024-08-05 11:00:34

PYTHON练习题 二. 使用random中的randint函数随机生成一个1~100之间的预设整数让用户键盘输入所猜的数。的相关文章

在复数类中自定义类型转换函数实现复数和非复数之间的运算

实现复数+double型数据,并且打印运算后实部上的数据 #include <iostream> using namespace std; class Complex { public: Complex( )//定义默认构造函数初始化复数 { real=0; imag=0; } //使用初始化表初始化复数 Complex(double r, double i):real(r),imag(i){} //定义自定义类型转换函数 operator double() { return real; }

将列表中的字符以‘*’连接生成一个新的字符串

#输出下面的字符 """  1  2*3 4*5*6 7*8*9*10 11*12*13*14*15 16*17*18*19*20*21 """ x=1 n=int(raw_input('please input row number:')) for i in range(0,n): x=x+i y=x+i #将列表中的每一个元素转换成字符 m=map(str,range(x,y+1)) #将列表中的字符以‘*’连接生成一个新的字符串 print

练习题-二维数组中的查找

<剑指offer>中的一个题目: 在一个二位数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下的递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. 例如,下面的二位数组就是每行.每列都递增排序.如果在这个数组中查找数字7,则返回true:如果查找数字5,由于数组不含该数字,则返回false. int matrix[] = { 1, 2, 8, 9, 2, 4, 9, 12, 4, 7, 10, 13, 6, 8, 11, 15 }; 代码

Python练习题(持续更新中)

第一题 使用while循环实现输出2 - 3 + 4 - 5 + 6 ... + 100 的和. #方法一 #从2开始计算 i = 2 #定义一个变量用于保存结果 sum=0 while i <= 100: if i % 2 == 0: sum = sum + i else: sum = sum - i i += 1 print("2-3+4-5+6...+100=",sum) #方法二 n=3 sum=2 while n<=100 : #n对2取余 if n % 2 !=

【c语言】二维数组中的查找,杨氏矩阵在一个二维数组中,每行都依照从左到右的递增的顺序排序,输入这种一个数组和一个数,推断数组中是否包括这个数

// 二维数组中的查找,杨氏矩阵在一个二维数组中.每行都依照从左到右的递增的顺序排序. // 每列都依照从上到下递增的顺序排序.请完毕一个函数,输入这种一个数组和一个数.推断数组中是否包括这个数 #include <stdio.h> #define col 4 #define rol 4 int yang(int(*p)[col], int num) { int i = 0; int j = col - 1; while (j+1) { int *q = &(p[i][j]); if

随机获取一个集合(List, Set)中的元素,随机获取一个Map中的key或value

利用Java提供的Random类.从List或Set中随机取出一个元素,从Map中随机获取一个key或value. 因为Set没有提供get(int index)方法,仅仅能先获取一个随机数后.利用一个计数器,对Set进行循环,当计数器等于随机数时返回当前元素,对于Map的处理也类似. 不知有没有更好的方法-- package com.xjj.util; import java.util.List; import java.util.Map; import java.util.Set; impo

python第二十一课——str中的常用函数(重要)

演示str中常用的一些函数: 1.join():将容器对象以某种特定的格式(字符串)进行拼接组合,最后以字符串的形式返回 lt=['i','love','you','very','much'] str1='-'.join(lt) print(str1,type(str1)) print(str.join('*',lt)) print(' '.join(lt)) #报错:需要显示的在第一个参数位置定义链接的格式(串) print(str.join(lt)) 2.rjust():将字符串数据以规定的

《Unity3d-在地图中随机生成一个物体的代码》

//思路:使用.Instantiate方法控制生成 但是在生成前一定要计算好生成的鱼儿的条件控制 public class FishController : MonoBehaviour{ public int maxCount = 10; //鱼池中鱼最大存在的个数 public int count = 0; //当前鱼池中鱼的个数 public GameObject[] fishArray; //设置与鱼的数组随机生成鱼 public float timer = 0; //生成鱼的时间间隔 p

在java中随机生成一个无序且长度不大于10的字符串

package xiangmu; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Random; public class TestCollection { /* * 通过定义Collections.sort()方法对String泛型进行List排序 * 创建一个String泛型List,插入一个不超过10的随机字符串 */ /** * @param