1.键盘输八一组人员的姓名、性别、年龄等信息,信息间采用空格分隔,每人一行,空行回车结束录入,示例格式如下:(张 男35;网女18;网男26;隼女22)计算并输出这组人员的平均年龄(保留1位小数)和其中女性人数,结果保存在文件夹下,命名为“PY202.txt”。格式如下
fo = open("PY202.txt","w")#打开
data = input("请输入一组人员的姓名、性别、年龄:") # 姓名 年龄 性别
women_num = 0
age_amount = 0
person_num = 0
while data:
name, sex, age = data.split(' ')
if sex == '女':
women_num += 1
age_amount += int(age)
person_num += 1
data = input("请输入一组人员的姓名、性别、年龄:")
average_age = age_amount / person_num
fo.write("平均年龄是{:.1f} 女性人数是{}".format(average_age, women_num))
fo.close()
- 通过“while data”实现一个列表的存储与输出, split() 通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则分隔 num+1 个子字符串,本例是以以空格为分隔符。
- input函数:获取用户输入,保存成一个字符串。input函数的返回值是一个字符串类型。哪怕你输入的是个数字1,返回给你的只会是字符串“1”,而不是 整数1 。所以需要int将字符串转换成数字类型.
- 保留一位小数{:1f}
2.在 Python 代码中读取 CSV 文件的步骤如下:导入 csv 模块,使用内置的 open() 函数以读取模式打开文件
# 问题一
# 以下代码为提示框架
# 请在...处使用一行或多行代码替换
# 请在______处使用一行代码替换
#
# 注意:提示框架代码可以任意修改,以完成程序功能为准
fi = open("PY301-vacations.csv","r")
ls = []
for line in fi:#遍历fi的每一行line
ls.append(line.strip("\n").split(","))
s = input("请输入节假日名称:")
for line in ls:
if s == line[1]:
print("{}的假期位于{}-{}之间".format(line[1],line[2],line[3]))
fi.close()
(2)
# 问题二
# 以下代码为提示框架
# 请在...处使用一行或多行代码替换
#
# 注意:提示框架代码可以任意修改,以完成程序功能为准
fi = open("PY301-vacations.csv","r")
ls = []
for line in fi:
ls.append(line.strip("\n").split(","))
s = input("请输入节假日序号:").split(" ")
while True:
for i in s:
for line in ls:
if i == line[0]:
print("{}({})假期是{}月{}日至{}月{}日之间".format((line[1]),(line[0]),line[2][:-2],line[2][-2:],line[3][:-2],line[3][-2:]))
s = input("请输入节假日序号:").split(" ")
fi.close()
(3)
# 问题三
# 以下代码为提示框架
# 请在...处使用一行或多行代码替换
#
# 注意:提示框架代码可以任意修改,以完成程序功能为准
fi = open("PY301-vacations.csv","r")
ls = []
for line in fi:
ls.append(line.strip("\n").split(","))
s = input("请输入节假日序号:").split(" ")
while True:
for i in s:
flag = False
for line in ls:
if i == line[0]:
print("{}({})假期是{}月{}日至{}月{}日之间".format((line[1]),(line[0]),line[2][:-2],line[2][-2:],line[3][:-2],line[3][-2:]))
flag = True
if flag == False:
print("输入节假日编号有误!")
s = input("请输入节假日序号:").split(" ")
fi.close()
- flag是个变量名,变量叫aa,bb,cc都可以,只要有一定的意义看得懂就行,其次Flase是个布尔值,就是否的意思.那么flag=False就是赋给flag“否”这么一个状态
Python 字符串的索引 | 菜鸟教程 (runoob.com)
其中涉及到字符串的索引,参考上面链接文章