|
发表于 2023-6-27 16:36:50
|
显示全部楼层
本帖最后由 歌者文明清理员 于 2023-6-27 16:38 编辑
你好!在这段代码中,虽然设定了循环次数为3,但是循环的起点并没有在主函数game()的开头,而是在while True:后面。因此,即使game()函数内部的循环次数是3,整个程序仍然会一直重复执行game()函数直到用户选择不重新开始游戏。
如果你只想要限制game()函数的循环次数为3,你可以将game()函数放在一个for循环内,并且循环次数设置为3。示例如下:
- import random as ag
- def game():
- number = 3
- awa = ag.randint(1,10)
- while number > 0:
- try:
- guess = int(input("猜一猜我心里在想什么数字,数字1~10:"))
- except:
- print('输入的要是一个整数!再试一次!')
- continue
- if guess > 10 or guess == 0:
- print('输入要是一个1~10的数字!再试一次!')
- continue
- if guess == awa:
- print("你是我心里的蛔虫吧?这么厉害???")
- print("正确答案就是",awa,",666!")
- break
- else:
- if guess < awa:
- print("太小了~")
- else:
- print("太大了~")
- number = number - 1
- if number == 0 and awa != guess:
- print('给你三次机会都不过???正确答案是:',awa,"!")
- for _ in range(3):
- game()
- restart = input("你是否要重新开始小游戏?(是/否):")
- if restart.lower() != "是":
- break
复制代码
这样,game()函数就会被执行3次,然后程序将询问用户是否要重新开始游戏。希望这能解决你的问题!如有需要,请随时提问。
附:为什么for _ in range(3)用下划线
使用下划线 _ 作为循环变量名是一种常见的约定。在这里,我们使用下划线来表示一个占位符变量,意味着循环变量的值并不会在循环体内被使用。这是因为在这个程序中,我们只关心循环的次数,而不关心循环变量的具体值。
使用下划线 _ 作为循环变量名有以下几个优点:
- 明确表达出我们不关心循环变量的值,只关心循环次数。
- 避免了创建一个没有用途的变量,提高了代码的可读性。
- 有助于消除循环变量可能对程序其他部分造成的混淆。
因此,在这段代码中,使用下划线 _ 作为循环变量名是为了强调我们只关心循环的次数,而不需要使用实际的循环变量值。当然,你也可以选择其他的变量名,只要能够清晰地表达出循环的次数即可。 |
|