我需要一个选课页面且每门课程最多被选二十次,要求使用if循环写的代码
时间: 2024-03-01 15:52:10 浏览: 19
好的,以下是符合您要求的 Python 代码:
```
courses = {'Math': 0, 'English': 0, 'History': 0, 'Chemistry': 0, 'Physics': 0}
while True:
print('欢迎来到选课页面,请选择您要选的课程:')
for course in courses:
print(course)
selected = input()
if selected in courses:
if courses[selected] < 20:
courses[selected] += 1
print('您已成功选课:', selected)
else:
print('对不起,该课程已经选满,请选择其他课程。')
else:
print('对不起,您输入的课程不存在,请重新输入。')
```
代码中使用了一个字典 `courses` 来存储每门课程的选课人数,初始值都为 0。使用 `while` 循环让用户可以一直进行选课,直到用户主动退出程序。每次循环中,先输出所有课程供用户选择,然后用户输入课程名字,判断课程是否存在和是否选满,如果符合要求则将该课程的选课人数加 1,否则输出相应提示信息。请注意,为了避免用户输入错误导致程序出错,输入的课程名字应该保证与字典的键名一致。
相关问题
我需要一个表单形式的前段html选课页面,并用if循环语句限制课程只能被选择20次
好的,以下是一个简单的选课表单的HTML代码示例,其中使用了JavaScript的if循环语句来限制每门课程只能被选择20次:
```html
<!DOCTYPE html>
<html>
<head>
<title>选课页面</title>
<script type="text/javascript">
// 定义一个记录已选课程的数组
var selectedCourses = [];
// 定义一个函数来处理选课表单的提交事件
function submitForm() {
// 获取所有选中的课程
var checkboxes = document.querySelectorAll('input[type="checkbox"]:checked');
// 遍历所有选中的课程
for (var i = 0; i < checkboxes.length; i++) {
var course = checkboxes[i].value;
// 检查该课程是否已经选择了20次
if (selectedCourses.filter(function(c) { return c === course; }).length >= 20) {
alert('每门课程只能被选择20次!');
return false;
}
// 将该课程添加到已选课程数组中
selectedCourses.push(course);
}
// 提交表单
return true;
}
</script>
</head>
<body>
<h1>选课页面</h1>
<form onsubmit="return submitForm();">
<p><input type="checkbox" name="course" value="语文">语文</p>
<p><input type="checkbox" name="course" value="数学">数学</p>
<p><input type="checkbox" name="course" value="英语">英语</p>
<p><input type="checkbox" name="course" value="物理">物理</p>
<p><input type="checkbox" name="course" value="化学">化学</p>
<p><input type="checkbox" name="course" value="生物">生物</p>
<p><input type="submit" value="提交"></p>
</form>
</body>
</html>
```
在这个示例中,我们使用了一个名为`selectedCourses`的数组来记录已选课程。在表单提交时,我们遍历所有选中的课程,并检查它们是否已经选择了20次。如果某门课程已经选择了20次,我们使用`alert()`函数弹出一个警告框来提示用户,并返回`false`来阻止表单提交。否则,我们将该课程添加到`selectedCourses`数组中,并允许表单提交。
请注意,这个示例只是一个简单的演示,实际开发中你可能需要更复杂的逻辑来处理选课表单。
用js和jq编写选课页面,要求每个课程最多不超过20人
好的,以下是一个使用JavaScript和jQuery编写的学生选课页面,其中每个课程最多不超过20人:
```html
<!DOCTYPE html>
<html>
<head>
<title>学生选课</title>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script>
$(document).ready(function() {
// 定义每个课程的最大容量
var maxCapacity = 20;
// 当提交表单时执行的函数
$("form").submit(function(event) {
// 防止表单默认提交行为
event.preventDefault();
// 获取表单数据
var name = $("#name").val();
var course = $("#course").val();
// 获取当前课程已选人数
var currentCapacity = $("input[name='" + course + "']:checked").length;
// 如果当前课程已选人数小于最大容量,则允许选课
if (currentCapacity < maxCapacity) {
// 创建一个新的选课项
var newOption = $("<input>").attr({
type: "radio",
name: course,
value: name
}).addClass("option");
// 将选课项添加到课程列表中
$("#" + course).append(newOption).append(name).append("<br>");
// 提示选课成功
alert("选课成功!");
} else {
// 如果当前课程已选人数等于最大容量,则提示选课失败
alert("抱歉,该课程已选满,请选择其他课程!");
}
});
});
</script>
</head>
<body>
<h1>欢迎来到学生选课系统</h1>
<form>
<label for="name">姓名:</label>
<input type="text" id="name" name="name"><br><br>
<label for="course">选择课程:</label>
<select id="course" name="course">
<option value="math">数学</option>
<option value="english">英语</option>
<option value="history">历史</option>
<option value="science">科学</option>
</select><br><br>
<input type="submit" value="提交">
</form>
<h2>课程列表</h2>
<div id="math">
<h3>数学</h3>
</div>
<div id="english">
<h3>英语</h3>
</div>
<div id="history">
<h3>历史</h3>
</div>
<div id="science">
<h3>科学</h3>
</div>
</body>
</html>
```
在这个例子中,我们使用jQuery来简化代码。当用户提交表单时,我们获取姓名和所选课程,并检查当前课程的已选人数是否小于最大容量。如果是,则创建一个新的选课项,并将其添加到课程列表中。否则,我们提示用户该课程已选满,不能再选了。