有编号为0-9的10位候选人以及不定数量的选民。选民每次输入一个得票的候选人名字,就记录该候选人得一票。投票结束后,统计每一个候选人出现的次数,输入-1表示结束。
时间: 2024-04-30 11:18:06 浏览: 7
好的,这个问题可以用 Python 语言来解决。我先给出一个简单的实现,你可以参考一下:
```python
candidates = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']
votes = {candidate: 0 for candidate in candidates}
while True:
vote = input('请输入候选人编号(输入-1结束投票):')
if vote == '-1':
break
if vote in votes:
votes[vote] += 1
else:
print('错误的候选人编号,请重新输入!')
for candidate, vote_count in votes.items():
print(f'候选人 {candidate} 得票数:{vote_count}')
```
这个程序首先初始化了一个候选人列表 candidates 和一个字典 votes,其中字典的键为候选人编号,值为该候选人的得票数。然后进入一个 while 循环,不断询问选民输入候选人编号,直到输入 -1 为止。在每次输入时,程序会检查输入的候选人编号是否在候选人列表中,如果是,则将该候选人的得票数加一;否则,提示用户重新输入。最后,程序遍历 votes 字典,输出每个候选人的得票数。
需要注意的是,这个程序没有对输入进行任何的错误处理,比如说输入非数字字符等情况会导致程序崩溃。如果你需要更加健壮的实现,可以在合适的地方加入异常处理代码。