微信小程序和小游戏源代码创建思路:
1.6万套微信小程序和小游戏源代码:casgams.top/gm
●创建一个数字猜测游戏,在其中用户选择一个范围;
●假设用户选择了一个范围,例如,从a到B,其中a和B属于Integer;
●系统将选择某个随机整数,用户必须在猜测的最小次数中猜测这个整数。
源码分析:
解释1:如果用户输入范围是1到100。编译器随机选择42作为整数。现在猜谜游戏开始了,所以用户输入50作为他/她的第一猜。编译器显示“Try Again!”你猜得太高了。”这意味着随机数(即42)不会落在50到100之间。这就是猜范围的一半的重要性。再一次,用户猜50的一半(你能告诉我为什么吗?)50的一半是25。用户输入25作为他/她的第二个猜测。这一次,编译器将显示“Try Again!”你猜的太小了。”这意味着小于25的整数(从1到25)是无法猜测的。现在用户猜测的范围更短了,即从25到50。智能!用户猜了这个范围的一半,所以,用户第三次猜37。这一次,编译器再次显示输出:“重试!”你猜的太小了。”对于用户来说,每猜一次,猜测范围就会变小。用户的猜测范围是37到50,用户的第四次猜测是43。这一次,编译器将显示“Try Again!”你猜得太高了。”因此,用户的猜测范围将从37到43,同样,用户猜测的是这个范围的一半,即40作为他/她的第五次猜测。这一次,编译器显示输出:“Try Again!”你猜的太小了。”让猜测更小,从41到43。现在用户第六次猜41。这是错误的,显示输出“Try Again!”你猜的太小了。”最后,用户第七次猜对了42。
总猜测次数= 7
解释2:如果用户输入范围是1到50。编译器随机选择42作为整数。现在猜谜游戏开始了。50的一半是25。用户输入25作为他/她的第一个猜测。这一次,编译器将显示“Try Again!”你猜的太小了。”这意味着小于25的整数(从1到25)是无法猜测的。现在用户猜测的范围更短了,即从25到50。智能!用户猜了这个范围的一半,所以,用户猜了37作为他/她的第二次猜测。这一次,编译器再次显示输出:“重试!”你猜的太小了。”对于用户来说,每猜一次,猜测范围就会变小。现在,用户的猜测范围是37到50,用户第三次猜43。这一次,编译器将显示“Try Again!”你猜得太高了。”因此,用户的猜测范围将从37到43,同样,用户猜测的是这个范围的一半,即40作为他/她的第四次猜测。这一次,编译器显示输出:“Try Again!”你猜的太小了。”让猜测更小,从41到43。现在用户第五次猜41。这是错误的,显示输出“Try Again!”你猜的太小了。”最后,用户第六次猜对了42。
总猜测次数= 6
所以,猜测的最小次数取决于范围。编译器必须计算出猜测的最小次数,这取决于范围本身。对于这个,我们有一个公式:
Minimum number of guessing = log2(Upper bound – lower bound + 1)
代码算法步骤如下:
●用户输入范围的上界和下界;
●编译器在范围之间生成一个随机整数,并将其存储在一个变量中,以备将来引用;
●为了进行重复猜测,将初始化一个while循环;
●如果用户猜测的数字大于随机选择的数字,用户将得到一个输出“重试!”你猜得太高了。”;
●如果用户猜测的数字小于随机选择的数字,用户将得到一个输出“Try Again!”你猜的太小了。”;
●如果用户猜了最少的次数,用户就会得到一个“恭喜!”输出;
●否则,如果用户没有在最小猜测次数中猜出整数,他/她将得到“Better Luck Next Time!””输出。
源码实现如下:
import random
import math
# Taking Inputs
lower = int(input("Enter Lower bound:- "))
# Taking Inputs
upper = int(input("Enter Upper bound:- "))
# generating random number between
# the lower and upper
x = random.randint(lower, upper)
print("\n\tYou've only ",
round(math.log(upper - lower + 1, 2)),
" chances to guess the integer!\n")
# Initializing the number of guesses.
count = 0
# for calculation of minimum number of
# guesses depends upon range
while count < math.log(upper - lower + 1, 2):
count += 1
# taking guessing number as input
guess = int(input("Guess a number:- "))
# Condition testing
if x == guess:
print("Congratulations you did it in ",
count, " try")
# Once guessed, loop will break
break
elif x > guess:
print("You guessed too small!")
elif x < guess:
print("You Guessed too high!")
# If Guessing is more than required guesses,
# shows this output.
if count >= math.log(upper - lower + 1, 2):
print("\nThe number is %d" % x)
print("\tBetter Luck Next time!")
# Better to use This source Code on pycharm!
下面是上面程序的输出结果:

jiemufan
- 发布:2022-03-11 16:13
- 更新:2022-03-11 16:13
- 阅读:4058

