我不明白在这个while循环中我应该把我的2个输入放在哪里

2024-04-28 23:36:35 发布

您现在位置:Python中文网/ 问答频道 /正文

initial_energy = int(input())
won = 0
command = ''

while initial_energy >= 0 and command != 'End of battle':
    distance = int(input())
    if initial_energy >= distance:
        initial_energy -= distance
        won += 1
        if won % 3 == 0:
            initial_energy += won
    elif initial_energy < distance:
        print(f'Not enough energy! Game ends with {won} won battles and {initial_energy} energy')
    else:
        command = input()
print(f'Won battles:{won}. Energy left:{initial_energy}')

该计划的目标是你接收能量,并试图杀死你作为输入接收到的在一定距离内的敌人。距离就是你杀死敌人所需要的能量。如果你杀了它,你就会赢。每赢3次,你获得的能量等于你赢的次数。你这样做,直到你得到一个命令“战斗结束”或你用尽了能量。 编辑:当你试图杀死敌人时,如果代码中没有明确说明,你也会失去能量


Tags: and距离inputifcommandinitialenergyint
1条回答
网友
1楼 · 发布于 2024-04-28 23:36:35

在代码中,如果initial_energy小于distance,则游戏不会结束,您需要添加break语句。如果不需要else条件,您可以将command输入更改为first if condition,因为只有在您获胜时才请求command输入

initial_energy = int(input("Energy: "))
won = 0
command = ''

while initial_energy >= 0 and command != 'End of battle':
    distance = int(input("distance: "))
    if initial_energy >= distance:
        initial_energy -= distance
        won += 1
        if won % 3 == 0:
            initial_energy += won
        command = input("command: ")
    else:
        print(f'Not enough energy! Game ends with {won} won battles and {initial_energy} energy')
        break
print(f'Won battles:{won}. Energy left:{initial_energy}')

相关问题 更多 >