用数组实现接收用户输入的9门课的成绩,然后再页面上显示总分和平均分,并显示低于60分的成绩全过程
时间: 2024-05-11 09:17:47 浏览: 135
好的,我可以帮您解答这个问题。以下是代码实现:
```python
scores = [] # 定义空数组用于存储成绩
# 循环接收用户输入的9门课的成绩
for i in range(1, 10):
score = float(input("请输入第{}门课的成绩:".format(i)))
scores.append(score)
total_score = sum(scores) # 计算总分
average_score = total_score / len(scores) # 计算平均分
# 循环打印低于60分的成绩
for score in scores:
if score < 60:
print("低于60分的成绩:", score)
# 打印总分、平均分
print("总分为:", total_score)
print("平均分为:", average_score)
```
这段代码能够实现接收用户输入的9门课的成绩,然后在页面上显示总分和平均分,并打印出低于60分的成绩。如果您有任何疑问,请随时提出。
相关问题
用数组实现接收用户输入的9门课的成绩,然后再页面上显示总分和平均分,并显示低于60分的成绩全过程html
代码如下:
<!DOCTYPE html>
<html>
<head>
<title>成绩统计</title>
</head>
<body>
<h1>成绩统计</h1>
<form>
<label for="chinese">语文成绩:</label>
<input type="text" id="chinese" name="grades[]"><br>
<label for="math">数学成绩:</label>
<input type="text" id="math" name="grades[]"><br>
<label for="english">英语成绩:</label>
<input type="text" id="english" name="grades[]"><br>
<label for="physics">物理成绩:</label>
<input type="text" id="physics" name="grades[]"><br>
<label for="chemistry">化学成绩:</label>
<input type="text" id="chemistry" name="grades[]"><br>
<label for="biology">生物成绩:</label>
<input type="text" id="biology" name="grades[]"><br>
<label for="history">历史成绩:</label>
<input type="text" id="history" name="grades[]"><br>
<label for="geography">地理成绩:</label>
<input type="text" id="geography" name="grades[]"><br>
<label for="politics">政治成绩:</label>
<input type="text" id="politics" name="grades[]"><br>
<input type="submit" value="提交">
</form>
<hr>
<h2>成绩汇总</h2>
<p>总分为:<span id="total"></span></p>
<p>平均分为:<span id="average"></span></p>
<p>低于60分的成绩为:<span id="lower"></span></p>
<script>
const form = document.querySelector('form');
const totalElement = document.querySelector('#total');
const averageElement = document.querySelector('#average');
const lowerElement = document.querySelector('#lower');
form.addEventListener('submit', (event) => {
event.preventDefault();
const grades = Array.from(new FormData(event.target).getAll('grades[]', 0));
let total = 0;
let lowerGrades = [];
grades.forEach((grade) => {
total += Number(grade);
if (Number(grade) < 60) {
lowerGrades.push(Number(grade));
}
});
const average = total / grades.length;
totalElement.textContent = total;
averageElement.textContent = average.toFixed(2);
lowerElement.textContent = lowerGrades.join(', ');
});
</script>
</body>
</html>
用数组实现接收用户输入的9门课的成绩,然后在页面上显示总分和平均分,并显示低于60分的成绩
在网页应用中,我们可以使用JavaScript配合HTML来实现这个功能。首先,我们需要创建一个数组来存储九门课程的成绩。下面是一个简单的步骤说明:
1. HTML部分:创建一个表单让用户输入成绩,以及两个隐藏字段用于存放总分和平均分。
```html
<!DOCTYPE html>
<html lang="zh">
<head>
<script src="script.js"></script> <!-- 引入JS文件 -->
</head>
<body>
<form id="scoreForm">
<input type="number" name="courseScore" placeholder="请输入成绩 (0-100)" required />
<button onclick="addScore()">添加成绩</button>
<input type="hidden" id="totalScore" value=0 />
<input type="hidden" id="averageScore" value=0 />
</form>
<div id="result"></div>
</body>
</html>
```
2. JavaScript部分(script.js):处理用户的输入和计算结果。
```javascript
let scores = []; // 存储成绩的数组
function addScore() {
const courseScore = document.querySelector('#scoreForm input[name="courseScore"]').value;
if (courseScore >= 0 && courseScore <= 100) {
scores.push(courseScore);
updateTotalAndAverage();
} else {
alert('成绩必须在0到100之间');
}
}
function updateTotalAndAverage() {
const totalScore = scores.reduce((acc, curr) => acc + curr, 0);
const averageScore = totalScore / scores.length;
document.getElementById('totalScore').value = totalScore;
document.getElementById('averageScore').value = averageScore.toFixed(2); // 保留两位小数
displayResult(totalScore, averageScore);
}
function displayResult(total, average) {
const resultDiv = document.getElementById('result');
resultDiv.innerHTML = `总分:${total} 分 | 平均分:${average} 分\n低于60分的成绩有:`;
scores.filter(score => score < 60).forEach(score => resultDiv.innerText += `${score}, `);
// 如果没有低于60分的成绩则不显示
resultDiv.innerText = resultDiv.innerText.endsWith(', ') ? resultDiv.innerText.slice(0, -2) : resultDiv.innerText;
}
```
在这个例子中,当用户点击“添加成绩”按钮时,会检查输入是否合法并将其添加到数组中。`updateTotalAndAverage`函数会实时更新总分和平均分,并在页面上展示结果。如果成绩低于60分,会在结果区域列出。
阅读全文