用Python编写程序完成以下功能: 1 函数getAge()函数读入学生年龄。当输入0结束,将数据存入列表。 2. 要求函数具有异常处理,对于输入的非数值字符串进行处理,提示错误并继续输入,直到正常结束. 3. 要求输入5个学生年龄,将大于30的数值存入old.txt文件中。
时间: 2024-03-26 21:35:19 浏览: 28
好的,我可以帮你解决这个问题。
你可以按照以下步骤来完成这个任务:
1. 定义一个函数 getAge(),该函数实现读入学生年龄,并将数据存入列表中。在读入年龄时需要进行异常处理,对于输入的非数值字符串进行处理,提示错误并继续输入,直到正常结束。
2. 在主函数中,调用 getAge() 函数,读入5个学生年龄,将大于30的数值存入 old.txt 文件中。
下面是代码实现:
```python
def getAge():
ageList = []
while True:
try:
age = int(input("请输入学生年龄:"))
if age == 0:
break
ageList.append(age)
except ValueError:
print("输入格式错误,请输入数字!")
return ageList
def main():
ageList = getAge()
with open("old.txt", "w") as f:
for age in ageList:
if age > 30:
f.write(str(age) + "\n")
print("大于30的年龄已写入 old.txt 文件!")
if __name__ == '__main__':
main()
```
在该程序中,定义了 getAge() 函数,该函数通过 while 循环读入学生年龄,并将数据存入列表 ageList 中。在读入年龄时,使用 try-except 语句对输入的非数值字符串进行处理,提示错误并继续输入,直到正常结束。
在主函数中,调用 getAge() 函数,获取学生年龄列表 ageList。然后,使用 with 语句打开文件 old.txt,并遍历 ageList 列表,将大于30的数值存入文件中。
最后,输出提示信息,告知大于30的年龄已写入 old.txt 文件。
希望我的回答能够帮到你!