函数getAge()函数读入学生年龄。当输入0结束,将数据存入列表。 2. 要求函数具有异常处理,对于输入的非数值字符串进行处理,提示错误并继续输入,直到正常结束. 3. 要求输入5个学生年龄,将大于30的数值存入old.txt文件中。使用python语言完成上述要求
时间: 2024-03-11 20:50:55 浏览: 22
好的,我明白了你的问题,以下是实现要求的代码:
```python
def getAge():
age_list = []
count = 0
while count < 5:
try:
age = int(input("请输入第{}个学生的年龄:".format(count+1)))
if age == 0:
break
elif age > 30:
with open("old.txt", "a") as f:
f.write(str(age) + "\n")
age_list.append(age)
count += 1
except ValueError:
print("请输入数字!")
return age_list
```
解释一下代码:
首先定义了一个函数 `getAge()`,该函数没有参数,返回一个列表,用于存储输入的学生年龄。
在函数中定义了一个空列表 `age_list` 和一个计数器 `count`,用于记录当前已经输入了多少个学生的年龄。
接着进入一个 while 循环,当计数器 `count` 小于 5 时,循环继续。
在循环中使用 `try-except` 结构进行异常处理,如果用户输入的是数字,则将其转换为整数类型,并进行判断:
- 如果输入的是 0,则跳出循环;
- 如果输入的大于 30,则将其写入 old.txt 文件中;
- 否则将其加入 `age_list` 列表中,并将计数器 `count` 加 1。
如果用户输入的不是数字,则会触发 `ValueError` 异常,此时程序会输出错误提示,并继续循环,等待用户重新输入。
最后,函数返回 `age_list` 列表,其中存储了所有输入的学生年龄。
注意:在使用 `with open() as f:` 语句时,文件会自动关闭,不需要再使用 `f.close()` 语句。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)