python在全系1000 名学生中,征集捐款,当总数达到20000 元时就结束。统计此时捐款数和捐款人数。
时间: 2024-10-15 16:15:06 浏览: 37
Python中可以使用while循环和字典数据结构来模拟这个场景。假设我们创建一个字典`donations`来存储每个学生的捐款额,字典的键是学生ID,值是捐款数额。同时,我们可以维护两个变量`total_amount`记录总捐款额,`num_donors`记录捐款的学生数。
```python
donations = {} # 初始化捐款字典
total_amount = 0 # 初始化总捐款额
num_donors = 0 # 初始化捐款人数
# 循环直到总金额达到20000元或所有学生都捐款
while total_amount < 20000 and len(donations) < 1000:
student_id = input(f"请输入第 {len(donations) + 1} 位学生的ID(输入q退出):")
if student_id.lower() == 'q':
break
try:
amount = float(input(f"{student_id} 捐款金额:"))
except ValueError:
print("无效的金额,请输入数字!")
continue
donations[student_id] = amount
total_amount += amount
num_donors += 1
if total_amount >= 20000:
print("\n捐款活动结束!")
print("捐款总额:", total_amount)
print("捐款人数:", num_donors)
else:
print("遗憾,未达到20000元的捐款目标。")
阅读全文