题目描述 我方情报部门截获了敌人的密码电报,里面的藏有这次战役中敌人的兵力部署。出现字符'@'后再出现的数字相加代表有多少个营参战,出现字符'%‘后再出现的数字相加代表有多少辆坦克参战。 密码电报以'#'字符做为结束标志。请你编程来帮忙统计一下敌人的兵力部署。 输入 一行字符串,是截获的密码电报。字符串中出现的数字范围为1~9。 输出 一行,两个整数,中间用空格分隔,前一个数字代表敌人有多少个营,后一个数字代表敌人有多少辆坦克。如果密码电报中缺少相应的信息,则该项统计输出0
时间: 2024-04-18 11:23:37 浏览: 192
```python
def count_enemy_forces(message):
camps = 0
tanks = 0
camp_count = 0
tank_count = 0
flag_camp = False
flag_tank = False
for char in message:
if char == '@':
flag_camp = True
flag_tank = False
elif char == '%':
flag_tank = True
flag_camp = False
elif char.isdigit():
num = int(char)
if flag_camp:
camp_count += num
elif flag_tank:
tank_count += num
return camp_count, tank_count
message = input("请输入密码电报:")
result = count_enemy_forces(message)
print("敌人有 {} 个营,{} 辆坦克".format(result[0], result[1]))
```
你可以将以上代码复制到你的IDE中运行,然后输入密码电报进行测试。输入的密码电报应该只包含有效的字符:'#', '@', '%', 和数字。程序将会输出敌人的兵力部署信息。
阅读全文