177
社区成员
发帖
与我相关
我的任务
分享题目1:输入开始数字与结束数字,打印出区间内的所有素数。
(素数:只能被1和自己本身整除的就是素数)
def is_prime(number):
if number in (1,2):
return True
for idx in range(2,number):
if number % idx == 0:
return False
return True
def print_primes(begin,end):
for number in range(begin,end+1):
if is_prime(number):
print(f"{number} 是素数")
begin = int(input("请输入初始值:"))
end = int(input("请输入最终值:"))
print_primes(begin,end)
结果:

题目2:输入一个数字n,计算1*1+2*2+3*3+。。。+n*n=?
def sum_of_square(n):
result = 0
for number in range(1,n+1):
result += number * number
return result
n=int(input("请输入n的值:"))
print("n的平方和为:",sum_of_square(n))
结果:
![]()
题目3:计算列表中数字的和
def sum_of_list(param_list):
total = 0
for item in param_list:
total += item
return total
my_list=input("列表:").split(",")
my_list1=[int(my_list[i]) for i in range(len(my_list))]
print(f"列表中总数的和为:",sum_of_list(my_list1))
结果:

题目4:输入开始和结束的值(不包含),得到所有偶数,并计算数字范围中的所有偶数
def get_even_numbers(begin,end):
result = []
for item in range(begin,end):
if item %2 == 0:
result.append(item)
return result
begin=int(input("输入开始值:"))
end=int(input("输入最终值:"))
print(f"开始值= {begin},结束值= {end},偶数部分为:",get_even_numbers(begin,end))
或者:
begin=int(input("输入开始值:"))
end=int(input("输入最终值:"))
data=[item for item in range(begin,end) if item %2 == 0]
print(f"开始值= {begin},结束值= {end},偶数部分为:",data)
结果:

题目5:输入原始元素与需要移除的元素,将移除后的结果显示出来
def remove_elements(list1,list2):
for item in list2:
list1.remove(item)
return list1
listA=input("原始列表:").split(",")
listA_1=[int(listA[i]) for i in range(len(listA))]
listB=input("移除元素:").split(",")
listB_1=[int(listB[i]) for i in range(len(listB))]
print(f"移除后列表为:",remove_elements(listA_1,listB_1))
或:
listA=input("原始列表:").split(",")
listA_1=[int(listA[i]) for i in range(len(listA))]
listB=input("移除元素:").split(",")
listB_1=[int(listB[i]) for i in range(len(listB))]
data=[item for item in listA_1 if item not in listB_1]
print(f"移除后列表为:",data)
结果:

题目6:输入包含重复元素的数组,返回输出一个元素去重的数组
def unique_list(list1):
result = []
for item in list1:
if item not in result:
result.append(item)
return result
listA=input("原始数组:").split(",")
listA_1=[int(listA[i]) for i in range(len(listA))]
print(f"去重后列表为:",unique_list(listA_1))
或:
listA=input("原始数组:").split(",")
listA_1=[int(listA[i]) for i in range(len(listA))]
print(f"去重后列表为:",list(set(listA_1)))
结果:

题目7:对简单列表排序
(简单列表:元素类型不是复合类型(列表/元组/字典))
listA=input("原始列表为:").split(",")
listA_1=[int(listA[i]) for i in range(len(listA))]
listA_1.sort()
print(f"结果为:",listA_1)
或:
listA=input("原始列表为:").split(",")
listA_1=[int(listA[i]) for i in range(len(listA))]
listB=sorted(listA_1)
print(f"结果为:",listB)
结果:(此处为升序排列)
![]()
*降序排列:
listA=input("原始列表为:").split(",")
listA_1=[int(listA[i]) for i in range(len(listA))]
listB=sorted(listA_1,reverse=True)
print(f"结果为:",listB)
结果:(此处为降序排列)
![]()
题目8:实现学生成绩排序
student=[
{"学号":1, "名字":"小张", "成绩":88},
{"学号":2, "名字":"小张", "成绩":99},
{"学号":3, "名字":"小张", "成绩":78},
{"学号":4, "名字":"小张", "成绩":86},
]
student_sort=sorted(student,key=lambda x:x["成绩"])
print(f"按成绩排列结果为:",student_sort)
结果:

题目9:读取成绩文件排序数据
新建一个<学生数据.txt>文件,内容如下:

注意,保存该txt文件时需另存为ANSI格式才能保证输出正常,否则中文部分为乱码,且在输入完成后最后加上一个换行符(即回车创造一行空行)否则会出现最后一个字符丢失的情况。
def read_file():
result = []
with open("./学生资料.txt","r") as fin:
for line in fin:
line=line[:-1]
result.append(line.split(","))
return result
def sort_grades(data):
return sorted(data, key=lambda x:int(x[2]), reverse=True)
def write_file(data):
with open("./学生资料结果.txt","w") as fout:
for data_1 in data:
fout.write(",".join(data_1)+"\n")
data = read_file()
print("读取文件数据为:",data)
data = sort_grades(data)
print("成绩排序为:",data)
write_file(data)
结果:


题目10:统计学生成绩输出最高分、最低分、平均分
使用题目9中创建的<学生资料.txt>
def compute_score():
scores = []
with open("./学生资料.txt") as fin:
for line in fin:
line = line[:-1]
fields = line.split(",")
scores.append(int(fields[-1]))
max_score = max(scores)
min_score = min(scores)
avg_score = round(sum(scores) / len(scores), 2)
return max_score,min_score,avg_score
max_score,min_score,avg_score = compute_score()
print(f"最高分为:{max_score},最低分为:{min_score},平均分为:{avg_score}")
结果:
