python属于什么类型的选修课_【Python】专业选修课作业

2020.9.24_C 体质指数

1.题目要求

4c4392e49062c61c07282ffb58b081f9.png

2.考察点

输入两个浮点数:w, h = map(float, input().split())

2.规范化输出:print(“B:%.2f” % BMI)

3.源代码

w, h = map(float, input().split())

BMI = w / (h*h)

if BMI < 18.5:

print("A:%.2f" % BMI)

elif 18.5 <= BMI < 24:

print("B:%.2f" % BMI)

elif 24 <= BMI < 28:

print("C:%.2f" % BMI)

else:

print("D:%.2f" % BMI)

2020.9.24_A 字符串内字符统计

1.题目要求

747ae9a1328b146c6d1d6d6d5fa8110d.png

2.考察点

输入整数:n = int(input())

list使用:初始化 arr = []; 追加赋值 arr.append(s);

输出n~1翻转:arr.reverse()

range使用:for i in range(n):

Python没有自增运算符:cnt += 1

3.源代码

ch = input()

n = int(input())

arr = []

total = 0

for i in range(n):

s = str(input())

cnt = int(0)

for tmpCh in s.upper():

if tmpCh == ch.upper():

# check all the upper letters

cnt += 1

if cnt >= 3:

arr.append(s)

total +=1

break

# reverse and then print

arr.reverse()

for i in range(0, total):

print(arr[i])

2020.9.24_B

1.题目要求

5cf61667c306da1acd12933f3e4c71d4.png

2.考察点

部分给定位置字符串匹配:使用切片(左闭右开) ch == arr[i][0: chLen]

按照字典序排列:sort()函数

3.源代码

arr = []

fixString = []

n = int(input())

for i in range(0, n):

cmd = input()

arr.append(cmd)

ch = input()

chLen = len(ch)

len = 0

for i in range(0, n):

# print(arr[i][0: chLen])

if ch == arr[i][0: chLen]:

fixString.append(arr[i])

len += 1

fixString.sort()

for i in range(0, len):

print(fixString[i])

2020.9.24_C

1.题目要求

23e43c4d979bd685e9bdc68008c1131a.png

2.考察点

同上述B题

3.源代码

n = int(input())

arr = []

Ming = []

for i in range(n):

s = input()

arr.append(s)

Xing = input()

for i in range(n):

tmpS = arr[i]

if Xing == tmpS[len(tmpS)-len(Xing):len(tmpS)]:

Ming.append(tmpS[0:int(len(tmpS))-int(len(Xing))-1])

Ming.sort()

for i in range(0, len(Ming)):

print(Ming[i])

2020.10.10_A

1.题目要求

10120eae0a1753b70def24091728972c.png

2.考察点

3.源代码

n, a = map(int, input().split())

def calSum(x):

if x == 0:

return 1

else:

return 1 + a * calSum(x-1)

print(calSum(n+1))

2020.10.10_B

1.题目要求

a4a08bba09c1dfd78ad03dc205160912.png

2.考察点

3.源代码

a, b = map(int, input().split())

arr = []

# 回文

for i in range(a, b + 1):

tmp = str(i)

# print(i)

tmpLen = len(tmp)

# print(tmpLen)

le, re = 0, -1

# even nums 1221

if tmpLen % 2 == 0:

while le < tmpLen // 2 & re >= 0 - tmpLen // 2:

if tmp[le] == tmp[re]:

le += 1

re += -1

else:

break

else:

arr.append(int(tmp))

# odd nums 121

else:

# print(tmpLen//2)

while le < tmpLen // 2 & re >= 0 - tmpLen // 2:

if tmp[le] == tmp[re]:

le += 1

re += -1

else:

break

else:

arr.append(int(tmp))

# 质数

for i in arr:

for j in range(2, int(i**0.5)+1):

if i % j == 0:

break

else:

print(i)

2020.10.10_C

1.题目要求

a8bbf368419f627c1b4af488b05ac44f.png

2.考察点

3.源代码

n = int(input())

book = []

for i in range(n):

book.append(input().split())

bookSorted = sorted(sorted(book, key=lambda x: (int(x[2]), int(x[3]), int(x[4]), int(x[1]), int(x[6])), reverse=True), key=lambda y: int(y[5]))

for i in bookSorted:

print(*i, sep=' ', end='\n') # cmp 12 123 556....

# print(i, sep=' ', end='\n') # ['cmp', '80', '2015', '3', '12', '156', '39']

2020.10.10_D

1.题目要求

ef6e8cd9672748c944ab7f3d5d580f4e.png

2.考察点

3.源代码

n = int(input())

book = []

for i in range(n):

tmp = input()

short = ""

for j in tmp:

if j.isupper():

short += j

book.append([short, tmp])

# print([short, tmp])

bookSorted = sorted(book, key=lambda x: x[0])

for i in bookSorted:

print(i[1])

2020.10.17_A

1.题目要求

5facc5476a67280f6d52c6c6595a969e.png输入样例1

3 5

1 2 3 4 1

输入样例2

3 5

1 2 3 1 4

输入样例3

3 5

1 2 2 2 3

输入样例1

3 5

1 2 3 4 1

输入样例2

3 5

1 2 3 1 4

输入样例3

3 5

1 2 2 2 3

2.考察点

3.源代码

n, m = map(int, input().split())

load = 0

arr = input()

seq = [int(i) for i in arr.split()] # 把数存到list里

page = []

full = 0

for i in range(m):

tmp = seq[i]

if tmp in page: # 出现过,则更新到最后

page.remove(tmp)

page.append(tmp)

else: # 没出现:两种情况

if full == 0: # 有空余页面,直接加载

page.append(tmp)

load += 1

if len(page) == n:

full = 1

else: # 删除一个,再加入,加载+1

load += 1

page.pop(0)

page.append(tmp)

print(load)

page.sort()

for i in page:

print(i, end=' ')

2020.10.17_B

1.题目要求

3d1210b2c9bf2d92813e3f3b01bb9202.png样例输入1:

2 3

3

1 1 1 2

1 2 2 2

2 2 2 3

样例输入2:

2 3

2

1 1 1 2

1 2 2 2

样例输出1:

2

样例输出2:

3

2.考察点

3.源代码

m, n = map(int, input().split())

Q = int(input())

matrix = [[0 for col in range(n)] for row in range(m)] # 初始化二维矩阵

total = 0

for i in range(Q):

x1, y1, x2, y2 = map(int, input().split())

for x in range(x1-1, x2):

for y in range(y1-1, y2):

matrix[x][y] = 1

for x in range(m):

for y in range(n):

if matrix[x][y] == 0:

total += 1

print(total)

2020.10.17_C

1.题目要求

cfcdc4ca0ba7a4c617db68b33fd700a9.png3 4

0 3

1 2

2 1

2.00

2.考察点

3.源代码

n, s = map(int, input().split())

table = []

for i in range(n):

table.append(list(map(int, input().split()))) # 位置,速度

result = sorted([(s - i[0])/i[1] for i in table], reverse=True) # 最慢的人

# sort不返回,只在原来list中修改,sorted才返回新的list

print('%.2f' % result[0])

2020.10.17_D

1.题目要求

8a6a03416b387291638d38e04a71ee42.png

2.考察点

3.源代码

input()

set_a = set(map(int, input().split()))

input()

set_b = set(map(int, input().split()))

print(*sorted(list(set_a & set_b)))

print(*sorted(list(set_a | set_b)))

print(*sorted(list(set_a - (set_a & set_b))))

2020.10.26_A

1.题目要求

3e9ae560bace7220af0e27fdcfef3dad.png

2.考察点

3.源代码

m, n, i = map(int, input().split())

def fib(n):

if (n == 0 or n == 1):

return 1

a, b = 1, 1

for i in range(2, n + 1):

a, b = b, a + b

return b

def PrintFN(m, n):

fibList = []

for k in range(n+1):

tmp = fib(k)

if tmp <= n:

if tmp >=m:

fibList.append(tmp)

else:

break

return fibList

b = fib(i)

print("fib({0}) = {1}".format(i, b))

fibList = PrintFN(m, n)

print(len(fibList))

2020.10.26_B

1.题目要求

f4854f014e073ddccfe59105955eb6a6.png

2.考察点

3.源代码

x, y = map(int, input().split())

def isPrime(a):

for i in range(2, int(a**0.5)+1):

if a % i == 0:

return 0

else:

return 1

def primeSum(a, b):

Sum = 0

for i in range(x, y+1):

if isPrime(i):

Sum += i

return Sum

print(primeSum(x,y))

2020.10.26_C

1.题目要求

53b811707fac57caa0d14864527b4e2d.png

2.考察点

3.源代码

def isHd(x):

tmp = list(str(n))

smallest = int("".join(sorted(tmp)))

biggest = int("".join(sorted(tmp,reverse = True)))

# print(biggest, smallest)

if biggest-smallest == x:

# print(biggest, smallest)

return True

else:

return False

n = int(input())

if isHd(n):

print("yes")

else:

print("no")

2020.10.26_D

1.题目要求

e584e1a7b542ac6676ac516aad2039fc.png

2.考察点

3.源代码

doc = input()

def fun(sentence):

if sentence[len(sentence)-1] == ".":

pass

else:

sentence += "."

return sentence.capitalize()

print(fun(doc))

2020.10.26_E

1.题目要求

eaa78a009c8542b548c356d4f85d3c3c.png

2.考察点

3.源代码

import random

p = int(input())

q = int(input())

r = int(input())

a = [[random.randint(0,10) for x in range(q)] for y in range(p)]

b = [[random.randint(0,10) for x in range(r)] for y in range(q)]

def multiply(a,b,p,q,r):

result = [[0 for x in range(r)] for y in range(p)]

for i in range(p):

for j in range(q):

for k in range(r):

result[i][k] += a[i][j]*b[j][k]

return result

2020.10.26_F

1.题目要求

c8552ee037e7991ef58c88b06b87d101.png

807c2c7abf15c405315bfb4d9313608a.png

2.考察点

3.源代码

import random

import itertools

suit = ['♥', '♠', '♦', '♣']

d = ['A', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K']

n = int(input())

def create():

tmpPoker = list(itertools.product(suit,d))

poker= []

for i in tmpPoker:

tmp = ''.join(i)

poker.append(tmp)

return poker

def shufflecard(pokers):

random.shuffle(poker)

return poker

def deal(pokers, n):

print("第%d个玩家拿到的牌是:" % n, end='')

t = [poker[4*i+n-1] for i in range(5)]

print(*t, sep=',')

random.seed(n)

poker = create()

poker = shufflecard(poker)

for i in range(52):

print('%-4s' % poker[i], end=' ')

if i % 13 == 12:

print()

for i in range(1, 5):

deal(poker, i)

2020.11.01_A

1.题目要求

2.考察点

3.源代码

原文链接:https://blog.csdn.net/helloworld0529/article/details/108782748

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值