python简易升级版石头剪刀布

前言

前面学习了运用python的选择结构写出一个简单版的石头剪刀布游戏,我们也不难发现其中的规律,但是会发现选择结构写起来并不是非常的方便,那么为了改进这个游戏,可以随玩随停,我们用到了循环结构。

目的

改进石头剪刀布游戏,用python中的循环结构实现改进后的石头剪刀布游戏能够随玩随停。

思路

既然要用循环结构实现这个程序,那么我们就要确定一方赢得条件是什么。
假设我们设置为三局两胜制,那么当一方赢了两把就算一局结束或者玩家自己退出游戏。
那么思路就出来了:

1.玩家赢的次数:usr_num=0
2.电脑赢的次数:com_num=0

代码实现

既然这个程序是选择结构下的石头剪刀布游戏的升级版,那么同样也需要用到随机函数,让电脑随机产生。
我们依然还是用0代表剪刀1代表石头2代表布
循环中的代码如下:

	user = int(input("剪刀(0),石头(1),布(2):"))
	if user - computer == -1 or user - computer == 2:
		com_sum += 1
		if com_sum >= 2:
			print("电脑胜")
			choice=input("是否继续(Y/N):")
			if choice == 'Y' or choice== 'y':
				user = int(input("剪刀(0),石头(1),布(2):"))
			elif choice == 'N' or choice == 'n':
				break;
	elif user - computer == -2 or user - computer == 1:
		usr_sum += 1
		if usr_sum >= 2:
			print("玩家胜")
			choice=input("是否继续(Y/N):")
			if choice == 'Y' or choice== 'y':
				user = int(input("剪刀(0),石头(1),布(2):"))
			elif choice == 'N' or choice == 'n':
				break;

判定条件if user - computer == -1 or user - computer == 2: user - computer == -2 or user - computer == 1:根据下图可以得出:
python简易升级版石头剪刀布_第1张图片

choice=input("是否继续(Y/N):")
			if choice == 'Y' or choice== 'y':
				user = int(input("剪刀(0),石头(1),布(2):"))
			elif choice == 'N' or choice == 'n':
				break;

这块循环代码是判断玩家是否还要继续玩下去,如果输入的是Y或者y,那么继续游戏,如果是N或者n的话,那么就退出游戏。
完整代码如下:

import random
computer = random.randint(0,2)
usr_sum = 0
com_sum = 0
while True:
	user = int(input("剪刀(0),石头(1),布(2):"))
	if user - computer == -1 or user - computer == 2:
		com_sum += 1
		if com_sum >= 2:
			print("电脑胜")
			choice=input("是否继续(Y/N):")
			if choice == 'Y' or choice== 'y':
				user = int(input("剪刀(0),石头(1),布(2):"))
			else:
				break;
	elif user - computer == -2 or user - computer == 1:
		usr_sum += 1
		if usr_sum >= 2:
			print("玩家胜")
			choice=input("是否继续(Y/N):")
			if choice == 'Y' or choice== 'y':
				user = int(input("剪刀(0),石头(1),布(2):"))
			else:
				break;

运行结果如下:
python简易升级版石头剪刀布_第2张图片

总结

循环结构相比于选择结构而言,更加的具有逻辑性,循环结构书写时,需要有比较清晰的逻辑,我认为最重要的一点就是要理解并不断的加以练习,把自己的逻辑结构练习出来了,也自然会慢慢理解循环结构,也不必再写过于长的代码。

你可能感兴趣的:(python,开发语言)