|
发表于 2024-8-3 13:05:00
|
显示全部楼层
本楼为最佳答案
 面向对象:
- class Player:
- def game2(self):
- score = 0# 积分
- times = 0# 局数
- import random
- print('平局+0分,败局-1分,胜局+1分')
- print('3局过后谁会赢呢?')
- while times < 3:
- computer = random.randint(1, 3)
- n = input('1代表石头,2代表剪刀,3代表布 出一个吧:')
- try:
- n = int(n)
- except ValueError as e:
- print('您输入的不是1~3中的整数!')
- continue
- right = (1, 2, 3)
- while n not in right:
- if n not in right:
- print('您输入的不是1~3中的整数!')
- n = int(input('1代表石头,2代表剪刀,3代表布 出一个吧:'))
- continue
- try:
- n = int(n)
- except ValueError as a:
- print('您输入的不是1~3中的整数!')
- continue
- else:
- n = int(n)
- if computer == 1:
- if n == 1:
- times += 1
- score += 0
- print('程序和你都出石头,平局+0分','当前第%d局,当前积分%d'%(times,score),sep='\n')
- if n == 2:
- times += 1
- score -= 1
- print('程序出石头,你出的是剪刀,败局-1分','当前第%d局,当前积分%d'%(times,score),sep='\n')
- if n == 3:
- times += 1
- score += 1
- print('程序出石头,你出的是布,胜局+1分', '当前第%d局,当前积分%d' % (times, score), sep='\n')
- elif computer == 2:
- if n == 1:
- times += 1
- score += 1
- print('程序出剪刀,你出石头,胜局+1分', '当前第%d局,当前积分%d' % (times, score), sep='\n')
- if n == 2:
- times += 1
- score += 0
- print('程序和你都出剪刀,平局+0分', '当前第%d局,当前积分%d' % (times, score), sep='\n')
- if n == 3:
- times += 1
- score -= 1
- print('程序出剪刀,你出的是布,败局-1分', '当前第%d局,当前积分%d' % (times, score), sep='\n')
- else:
- if n == 1:
- times += 1
- score -= 1
- print('程序出布,你出石头,败局-1分', '当前第%d局,当前积分%d' % (times, score), sep='\n')
- if n == 2:
- times += 1
- score += 1
- print('程序出布,你出剪刀,胜局+1分', '当前第%d局,当前积分%d' % (times, score), sep='\n')
- if n == 3:
- times += 1
- score += 0
- print('程序和你都出布,平局+0分', '当前第%d局,当前积分%d' % (times, score), sep='\n')
- if times < 3:
- print('开始下一局')
- if score >= 1:
- print('\n','你赢了!')
- elif score == 0:
- print('\n','你与程序平手')
- else:
- print('\n','你输了!真给人类丢脸')
- player = Player()
- player.game2()
复制代码 |
|