python作业

整理下这周做的python题

成绩计算

题目描述

成绩计算
输入一个成绩,然后进行判断。
要求显示的结果:
如果成绩在[0 60]之间   不及格
如果成绩在[60 70)之间   等级是D
如果成绩在[70 80)之间         C
如果成绩在[80 90)之间         B
如果成绩在[90 100]之间        A


可以使用if…else…组合(不使用elif)
也可以使用if…elif…组合

实例代码

score = int(input())
if score >= 0 and score <= 60:
        print('不及格')
elif score >= 60 and score < 70:
        print('等级是D')
elif score >= 70 and score < 80:
        print('C')
elif score >= 80 and score < 90:
        print('B')
elif score >= 90 and score <= 100:
        print('A')

出租计费

题目描述

要求:循环输入公里数,自动计算所需费用,费用计算公式如下

0.公里数小于等于0时输出:
 请输入正确的公里数进行计算,程序结束

1.出租车起步价8元,包含2公里
2.超过两公里的部分,每公里收取1.2元
3.超过12公里的部分,每公里收取1.5元

示例代码

costs = 0
while 1:
        kms = 0
        kms = float(input())
        if kms <= 0:
                print('请输入正确的公里数进行计算,程序结束')
                break
        else:
                if kms <= 2:
                        costs = 8
                elif kms > 2 and kms <= 12:
                        costs = 8 + (kms - 2) * 1.2
                else:
                        costs = 20 + (kms - 12) * 1.5
        print(costs)

非诚勿扰

题目描述

通过输入两个人的信息,对比两个人是否符合对方要求
1.输入男生年龄、身高、体重、收入
2.输入女生年龄、身高、体重、收入
3.设定男生要求和女生要求
   例如:男生要求:
    年龄大于20  小于28
    身高大于160 小于175
    体重大于40  小于60
    收入大于2000 小于5000
4.对比女生是否符合男生要求
5.对比男生是否否和女生要求
6.如果男女双方均符合对方要求,则配对成功!

示例代码

love = 0
b_age = int(input('请输入男生年龄:'))
b_height = float(input('请输入男生身高'))
b_weight = float(input('请输入男生体重(kg)'))
b_salary = int(input('请输入男生收入'))

g_age = int(input('请输入女生年龄:'))
g_height = float(input('请输入女生身高'))
g_weight = float(input('请输入女生体重(kg)'))
g_salary = int(input('请输入女生收入'))

print('='*50)

if (b_age > 20 and b_age <28 and
    b_height >170 and b_height < 180 and
    b_weight > 55 and b_weight < 70 and
    b_salary > 5000 and b_salary < 10000):
        print('girl : 确认过眼神,我遇上对的人')
        love += 1
else:
        print('girl : 哎,下一个')


if (g_age > 20 and g_age <28 and
g_height >160 and g_height < 165 and
g_weight > 40 and g_weight < 550 and
g_salary > 2000 and g_salary < 5000):
print(‘boy : 确认过眼神,我遇上对的人’)
love += 1
else:
print(‘boy : 哎,下一个’)

if love == 2:
        print('配对成功!')
        print()
        print(' *        *')
        print('*     *    *')
        print(' *        *')
        print('    *   *')
        print('      *')


else:
print(‘配对失败!’)

列表练习

题目描述

功能:具有增删改查功能的学员信息管理系统
选项:
  1.添加学员姓名
  2.修改学员姓名
  3.查询学员姓名
  4.删除学员姓名
  0.退出程序

添加学员:
    输入要添加的姓名
    进行添加操作
修改学员:
    输入学员的序号
    输入修改信息
    执行修改
查询学员:
    1.输入查询序号
        输入学员序号
        输出学员信息
    2.查询所有学员
        迭代列表,输出所有学员
删除学员:
    1.输入序号删除
    2.输入学员名称删除
    3.删除所有学员

示例代码

import time
namelist = []


def print_select():
print(‘10+’学员信息管理系统’+’10)
print(‘=’30)
print(‘tips : 回复下列选项数字进行操作’)
print(‘1.添加学员姓名’)
print(‘2.修改学员姓名’)
print(‘3.查询学员姓名’)
print(‘4.删除学员姓名’)
print(‘5.菜单选项’)
print(‘0.退出程序’)
print(‘=’
30)


def app_name():
name = input(‘请输入要添加的姓名:’)
namelist.append(name)
time.sleep(0.5)
print(‘添加成功!’)


def change_name(getlist):
if len(getlist) <= 0:
time.sleep(0.5)
print(‘暂无成员信息’)
else:
renumber = int(input(‘请输入要修改的学员序号:’))-1
rename = input(‘请输入新的名字:’)
getlist[renumber] = rename
time.sleep(0.5)
print(‘修改成功!’)


def search_name(getlist):
if len(getlist) <= 0:
time.sleep(0.5)
print(‘暂无成员信息’)
else:
chi_number = int(input(‘请输入要查询的类别:1.输入学员序号进行查询 2.输出所有学员信息:’))
if chi_number == 1:
ser_number = int(input(‘请输入学员序号:’)) - 1
if ser_number <= len(getlist):
time.sleep(0.5)
print(getlist[ser_number])
else:
time.sleep(0.5)
print(‘没有找到学号为%d的学员信息’ % (ser_number+1))
elif chi_number == 2:
time.sleep(0.5)
i = 1
for each in getlist:
print(‘%d. %s ‘%(i, each))
i += 1
else:
time.sleep(0.5)
print(‘输入的信息有误!’)


def del_name(getlist):
if len(getlist) <= 0:
time.sleep(0.5)
print(‘暂无成员信息’)
else:
chi_number = int(input(‘请输入要进行的操作:1.输入学员序号进行删除 2.输入学员名称进行删除 3.删除所有学员:’))
if chi_number == 1:
number = int(input(‘请输入学员序号:’)) - 1
del getlist[number]
time.sleep(0.5)
print(‘删除成功!’)
elif chi_number == 2:
name = input(‘请输入学员姓名:’)
getlist.remove(name)
time.sleep(0.5)
print(‘删除成功!’)
elif chi_number == 3:
ask = input(‘确定要删除所有信息吗?y/n:’)
if ask == ‘y’:
for i in getlist:
getlist.remove(i)
time.sleep(0.5)
print(‘删除成功!’)
else:
print(‘输入的信息有误!’)


print_select()
while 1:
print(‘-‘*30)
select = int(input(‘请输入选项:’))
if select == 1:
app_name()
if select == 2:
change_name(namelist)
if select == 3:
search_name(namelist)
if select == 4:
del_name(namelist)
if select == 5:
print_select()
if select == 0:
time.sleep(0.5)
quit_choice = input(‘确定要推出程序? y/n:’)
if quit_choice == ‘y’:
break

最佳体重

题目描述

最佳体重计算

已知一个人的身高是180,体重是80公斤,计算一个人的最佳体重 

最佳体重计算公式:

最佳体重 = 身高 - 105


通过体重和最佳体重的对比,利用print输出此人是体重正常还是偏胖还是偏瘦。

示例代码

height = float(input('请输入身高:'))
weight = float(input('请输入体重(kg):'))
best_weight = height - 105
if best_weight > weight:
        print('偏瘦')
elif best_weight < weight:
        print('偏胖')
else:
        print('完美体重')

敏感词的取代

题目描述

读取敏感词文本文件filter.txt,里面存在敏感词,当你输入一段话如果包含敏感字,则用 * 代替敏感字。
(例:“我创建一个网站,其中我注入了挖矿脚本”,“我创建一个网站,其中我注入了**脚本”)

其中的文件为

做题思路

首先观察到文件有四行,且其后有‘,’,在进行敏感字比较时是没用的,则要去掉‘,’这个符号;当读取这个文件的内容时其格式是str类型的,而且这个字符串有四行,无法与输入的语句进行对比,因此,最好将其处理为列表,其元素为‘黑产’,‘网马’,‘暗链’,‘挖矿’,之后与输入的语句进行对比,如果发现这四个词就进行替换,未发现则输出原句

可以用函数replace取代字符,用函数split将四行字符串化为列表

示例代码

message = input()
txt = open('filter.txt', 'r')
hang = txt.read()
setting = hang.replace(',', '')
settings = setting.split()
for i in settings:
    if i in message:
        message = message.replace(i, '**')
print(message)