这个游戏以前玩过,学了几天python,信誓旦旦的跟儿子说我一定要做出来给你玩,结果研究了3,4天,所学所掌握的知识不够,一直实现不了(想起周六一大早要起来开长途回老家4小时,周五晚上熬夜到1点半—因为自信的认为我能开发出来,不出来不睡觉。。。。最后还是没出来,强迫不甘心的自己睡觉。。。。)。今天还是屡试不成,只好求助文心一言,本来就不报希望,只是看能不能找到有用的知识点。果然,文心兄没让我失望,它给的代码是无效的,不过学了个for index,digit in enumerate(字符串或者列表)的用法,问题迎难而解。
代码如下:
import random
k = input('您想挑战几位数的猜数字游戏呢:')
k = int(k)
a = random.randint(10 ** (k - 1) ,10 ** k - 1)
a = str(a)
gress = 0
num =0
#print(a)
while True:
t1 = 0
t2 = 0
num +=1
b =input(f'请猜{10 ** (k - 1)}到{10 ** k - 1}之间的一个整数')
if k != len(b):
print('输入错误,请重新输入')
if k == len(b):
for index,digit in enumerate(b):
if digit in a:
t1+=1
if digit == a[index]:
t2+=1
print(f'{t1}个数正确,{t2}个位置正确')
if t2 == k:
print(f'恭喜您猜对了,游戏结束,您一共猜了{num}次')
break
自己试玩了下,效果不错,2位数的适合2年级小朋友,3位数的应该适合4年级小朋友,太好了!晚上跟儿子女儿坐一排泡脚的时候,一人一个手机,玩这个猜数字游戏,比速度,完美!