测试题不会做,很简单别嘲笑我

问题遇到的现象和发生背景

测试题不会

img

问题相关代码,请勿粘贴截图
  1. 编写程序将百分制转换成五分制。
    成绩 90100 分,输出 5 分;
    成绩 80
    89 分,输出 4 分;
    成绩 70~ 79 分,输出 3 分;

  2. 编写程序,输入一个字符串,将字符串中的小写字母转换为大写字母,大写
    字母转换为小写字母,其他字符不变。

  3. (选做)请使用循环结构对实验二中的“石头剪刀布”进行改造,使其能真正
    实现三局两胜的功能。(平局不能记为一局,最终必定有一个赢家)
    实验二:实现 “石头剪刀布”的游戏,三局两胜,判谁赢,并列出每一局的输赢。

源程序:

```import random
print("********************************************************")
print("*                                                      *")
print("*                  欢迎来到我的游戏                    *")
print("*                                                      *")
print("*               1:石头;2:布;3:剪刀;              *")
print("*                                                      *")
print("*              说明:此游戏采用三局二胜制              *")
print("*                                                      *")
print("********************************************************")

p_c=0
c_c=0

p_b=int(input("请输入您的第一次出拳:"))
c_b=random.randint(1,3)

cha=p_b-c_b

if (cha==-2 or cha==1):
    p_c=p_c+1
elif (cha==2 or cha==-1):
    c_c+=1

print("您的第一次出拳是:",p_b)
print("计算机的第一次出拳是:",c_b)

p_b=int(input("请输入您的第二次出拳:"))
c_b=random.randint(1,3)

cha=p_b-c_b

if (cha==-2 or cha==1):
    p_c=p_c+1
elif (cha==2 or cha==-1):
    c_c+=1

print("您的第二次出拳是:",p_b)
print("计算机的第二次出拳是:",c_b)

p_b=int(input("请输入您的第三次出拳:"))
c_b=random.randint(1,3)

cha=p_b-c_b

if (cha==-2 or cha==1):
    p_c=p_c+1
elif (cha==2 or cha==-1):
    c_c+=1

print("您的第三次出拳是:",p_b)
print("计算机的第三次出拳是:",c_b)


if (p_c>c_c):
    print("恭喜,您赢了!")
elif p_c<c_c:
    print("抱歉,您输了!")
else:
    print("平局!")
```python


运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果
import random
print("********************************************************")
print("*                                                      *")
print("*                  欢迎来到我的游戏                    *")
print("*                                                      *")
print("*               1:石头;2:布;3:剪刀;              *")
print("*                                                      *")
print("*              说明:此游戏采用三局二胜制              *")
print("*                                                      *")
print("********************************************************")


def game(n):
    assert(0<n<4 and isinstance(n,int))
    cn = '一二三'
    p_b = int(input(f"请输入您的第{cn[n-1]}局出拳:"))
    c_b=random.randint(1,3)
    while p_b==c_b:
        p_b = int(input(f"第{cn[n-1]}局的出拳相同,请重出:"))
        c_b=random.randint(1,3)
    print(f"电脑的第{cn[n-1]}局出拳为{c_b}")
    return p_b, c_b

def win(pc):
    p_b, c_b = pc
    res = p_b - c_b
    if res==2: res=-1
    if res==-2: res=1
    if res==1:
        print("这一局您赢了!")
    elif res==-1:
        print("这一局您输了!")
    return res

count = 0
for i in range(3):
    count += win(game(i+1))

print('结果:',end='')
if count==3:
    print('你赢了,三局使用',end='')
elif count==1:
    print('你赢了,三局两胜',end='')
elif count==-3:
    print('你输了,三局皆输',end='')
elif count==-1:
    print('你输了,三局两败',end='')

运行结果:
请输入您的第一局出拳:2
电脑的第一局出拳为1
这一局您赢了!
请输入您的第二局出拳:2
电脑的第二局出拳为3
这一局您输了!
请输入您的第三局出拳:2
电脑的第三局出拳为1
这一局您赢了!
结果:你赢了,三局两胜

==============
请输入您的第一局出拳:1
电脑的第一局出拳为2
这一局您输了!
请输入您的第二局出拳:2
电脑的第二局出拳为3
这一局您输了!
请输入您的第三局出拳:3
第三局出拳相同,请重出:3
第三局出拳相同,请重出:3
电脑的第三局出拳为1
这一局您输了!
结果:你输了,三局皆输

img