- # random.randint(a, b),使用randint()函数,我们可以在一个指定的整数范围内生成一个随机整数。在使用该函数时,我们需要指定整数范围的上限和下限。该函数返回一个随机整数,其取值范围是[a,b],即包括a和b本身
- # input接受一个参数,用于要向用户显示的提示或说明,包括但不限于字符串,整型数字;
- # python的格式运算符与C,C++的格式运算符相似,但是python的变量前要加一个%,如果有多个变量还需要用圆括号将这几个变量括起来,并在括号前加一个%
- # python中的逻辑运算符是用 and,or,not来表示的,而不是 &&, ||, ! 来表示
python代码,函数实现:
import randomdef start(l, h, num, cnt):
#从[l, h]中猜一个数,你有cnt次机会,num是用户猜测的数字Random = random.randint(1, (1 << 31) - 1 ) % (h-l) + 1 + l;
# random.randint(a, b)
# 使用randint()函数,我们可以在一个指定的整数范围内生成一个随机整数。在使用该函数时,我们需要指定整数范围的
# 上限和下限。该函数返回一个随机整数,其取值范围是[a,b],即包括a和b本身。while(1):if(Random > num):print("您的数字太小了,请再输入一个数")print("您还剩下 %d 次机会\n" %(cnt))num = int(input(""))# input接受一个参数,用于要向用户显示的提示或说明,包括但不限于字符串,整型数字;elif(Random < num):print("您的数字太大了,请再输入一个数")print("您还剩下 %d 次机会\n" %cnt)# python的格式运算符与C,C++的格式运算符相似,但是python的变量前要加一个%,如果有多个# 变量还需要用圆括号将这几个变量括起来,并在括号前加一个%num = int(input(""))else:print("恭喜您猜对了,游戏结束!\n")breakcnt -= 1if(cnt == 0):print("游戏失败!!!欢迎下次见面!\n")breakprint("欢迎来到游戏王国")
while(1):while(1):op = input("请选择您的游戏难度:\nsimple or medium or hard")if(op == "simple"):print("请您在 1~50 中选择一个数:")num = int(input(""))start(0,50,num,9)elif( op == "medium"):print("请您在 51~500 中选择一个数:")num = int(input(""))start(50,500,num,9)elif(op == "hard"):print("请您在 501~1000 中选择一个数:")num = int(input(""))start(500,1000,num,9)else:print("您的选择错误:您只能在 simple or medium or hard 中选择:")if op == "simple" or op == "medium" or op == "hard" :break# python中的逻辑运算符是用 and,or,not来表示的,而不是 &&, ||, ! 来表示print("您是不是觉得这个游戏太有趣了!您还想继续玩这个游戏吗?")str = input("请您输入yes or no :")if(str == "yes" or str == "YES" or str == "Yes" or str == "YEs"):print("好的,咱们继续:\n")else:print("好的,很期待与您的下一次见面,祝您生活愉快!!!\n")break
python代码,将函数封装在一个类中实现:
# 同一个类中的方法相互调用,一是可以用 self.方法名()
# 同一个类中的方法相互调用,二是可以用 类名.方法名()
# 同一个类中的方法相互调用,一是可以用 类名.方法名(self, )
# 当用类名.方法名时,加不加self参数都可
# 类实现:
import random
# 引进random模块class NumGame:def __init__(self, name, id):self.name = nameself.id = id;
"""为该数字游戏类增添两个属性,姓名以及id号"""def start(self, l, h, num, cnt):#从[l, h]中猜一个数,你有cnt次机会,num是用户猜测的数字Random = random.randint(1, (1 << 31) - 1 ) % (h-l) + 1 + l;# random.randint(a, b)# 使用randint()函数,我们可以在一个指定的整数范围内生成一个随机整数。在使用该函数时,我们需要指定整数范围的# 上限和下限。该函数返回一个随机整数,其取值范围是[a,b],即包括a和b本身。while(1):if(Random > num):print(f"{self.name} 您的数字太小了,请再输入一个数")print(f"{self.name} 您还剩下 %d 次机会\n" %(cnt))num = int(input(""))# input接受一个参数,用于要向用户显示的提示或说明,包括但不限于字符串,整型数字;elif(Random < num):print(f"{self.name} 您的数字太大了,请再输入一个数")print(f"{self.name} 您还剩下 %d 次机会\n" %cnt)# python的格式运算符与C,C++的格式运算符相似,但是python的变量前要加一个%,如果有多个# 变量还需要用圆括号将这几个变量括起来,并在括号前加一个%num = int(input(""))else:print("恭喜您猜对了,游戏结束!\n")breakcnt -= 1if(cnt == 0):print("游戏失败!!!欢迎下次见面!\n")breakdef start_game(self):print(f"{self.name} 欢迎来到游戏王国")while(1):while(1):op = input("请选择您的游戏难度:\nsimple or medium or hard")if(op == "simple"):print("请您在 1~50 中选择一个数:")num = int(input(""))self.start(0,50,num,9)
# 同一个类中的方法相互调用,一是可以用 self.方法名() elif( op == "medium"):print("请您在 51~500 中选择一个数:")num = int(input(""))NumGame.start(50,500,num,9)
# 同一个类中的方法相互调用,二是可以用 类名.方法名()elif(op == "hard"):print("请您在 501~1000 中选择一个数:")num = int(input(""))NumGame.start(self, 500,1000,num,9)
# 同一个类中的方法相互调用,一是可以用 类名.方法名(self, )
# 当用类名.方法名时,加不加self参数都可else:print("您的选择错误:您只能在 simple or medium or hard 中选择:")if op == "simple" or op == "medium" or op == "hard" :break# python中的逻辑运算符是用 and,or,not来表示的,而不是 &&, ||, ! 来表示print("您是不是觉得这个游戏太有趣了!您还想继续玩这个游戏吗?")str = input("请您输入yes or no :")if(str == "yes" or str == "YES" or str == "Yes" or str == "YEs"):print("好的,咱们继续:\n")else:print("好的,很期待与您的下一次见面,祝您生活愉快!!!\n")breakming = NumGame("小明", "10086")
ming.start_game()
C++代码:
#include <iostream>
#include <stdlib.h>
#include <ctime>using namespace std;void start(int l,int h,int num,int cnt)
{srand((unsigned) time(NULL));int Random = rand() % (h-l) + 1 + l;while(1){if(Random > num){puts("您的数字太小了,请再输入一个数");printf("您还剩下 %d 次机会\n",cnt);cin >> num;}else if(Random < num){puts("您的数字太大了,请再输入一个数");printf("您还剩下 %d 次机会\n",cnt);cin >> num;}else{puts("恭喜您猜对了,游戏结束!\n");break;}--cnt;if(cnt == 0){puts("游戏失败!!!欢迎下次见面!\n");break;}}
}int main()
{puts("欢迎来到游戏王国");string op;while(1){do{puts("请选择您的游戏难度:\nsimple or medium or hard");cin >> op;int num;if(op == "simple"){puts("请您在 1~50 中选择一个数:");cin >> num;start(0,50,num,9);}else if( op == "medium"){puts("请您在 51~500 中选择一个数:");cin >> num;start(50,500,num,9);}else if(op == "hard"){puts("请您在 501~1000 中选择一个数:");cin >> num;start(500,1000,num,9);}elseputs("您的选择错误:您只能在 simple or medium or hard 中选择:");}while(op != "simple" && op != "medium" && op != "hard");string str;puts("您是不是觉得这个游戏太有趣了!您还想继续玩这个游戏吗?");puts("请您输入yes or no :");cin >> str;if(str == "yes" || str == "YES" || str == "Yes" || str == "YEs")puts("好的,咱们继续:\n");else{puts("好的,很期待与您的下一次见面,祝您生活愉快!!!\n");break;}}return 0;
}