# 2025.03.14 笔记 总结

2025.03.14 笔记

1、护甲计算

prot = int(input('digite sua primeira nota: '))
# 用前前三个字母,变量
ham_val = prot * 0.4
axe_val = 200.0
if(axe_val > ham_val):
    print("axe")
elif(axe_val < ham_val):
    print("hammer")
else:
    print("hard to choose")
# 原来代码
a=int(input("armor amount"))
# n针对的是hammer的伤害
n = a*0.4
if n<200:
  print('axe')
if n==200:
  print('hard to choose')
if n>200:
  print('hammer')

2、是否有弹性

# 1、字符串,必须用单引号或双引号
# 2、判断数值大小的是用 == 表示相等
# 3、边界梳理, a>=0为有弹性
a=float(input())
if a>=0:
  print("Yes")
else:
  print("No")
if 0<a<1:
  print("low elasticity")
if a==1:
  print("unit elasticity")
if a>1:
  print("high elasticity")
if a==0:
  print("no elasticity")

3、判断哥哥姐姐等等

# 1、判断等于,使用 == 
# 2、 边界判断,等于只归到了 “JJ”;“GG”; “MM”,“DD” 不需要
# 以下是原未修改代码
S=input()
a=int(input())
if S="boy" and a>=20:
  print("GG")
if S="boy" and a<=20:
  print("DD")
if S="girl" and a>=20:
  print("JJ")
if S="girl" and a<=20:
  print("MM")

4、取平均数

#1、break是中断,for循环。不需要中断的,则不需要加
#2、循环n次,接收数据的模版是:
#  for i in range(n):
#    ai = int(input())
#3、使用接收的数据,input()
# 请在下方"____"位置添加适当语句(提交之前请删除所有下划线"_")

# 输入n,并将其转换为整数
n = int(input())

# 为变量SumA赋初值,用于计算n个数的累加和
sumA = 0

# 使用for循环,每次循环读入一个整数,求出n个数的累加和
for i in range(n):
  sumA = sumA + int(input())
  
#计算平均数,直接取整并输出
print(int(sumA/n))

5、算最大最小业绩

#接收循环次数
n = int(input())
# 四个变量分别为,最大的业绩(以及编号),最小业绩以及其编号。 申明变量
#最大业绩的标号 0 <= ai <= 100,
max_i = 0
# 最大业绩的值
max_rank_score = 0
#最小业绩的标号
min_i = 0
#最小业绩的值
min_rank_score = 100

# for i in range(n): 循环的i是 0到n-1,range默认每次步长时1
# for i in range(1,n+1) 数学上:左闭右开的区间[1,n+1), for循环i是 1到n, range默认每次步长时1
for i in range(1,n+1):
    ai = int(input())
    if ai > max_rank_score:
        max_rank_score = ai
        max_i = i
    if ai < min_rank_score:
        min_rank_score = ai
        min_i = i
#打印结果
print(str(max_i ) + ' ' + str(max_rank_score))
print(str(min_i ) + ' ' + str(min_rank_score))

6、纪念品计算

total_num = int(input())
day = 0
sum = 0
# 从 1到total_num次循环,每次循环表示一天
for i in range(1,total_num+1):
    sum = sum + i
    if sum > total_num:
        day = i-1
        break
print(day)

7、未知员工数,统计业绩

# 声明四个变量,分别用于存储最大业绩及其编号,最小业绩及其编号
# 最大业绩的编号,假设编号从1开始,0 <= ai <= 100
max_i = 0
# 最大业绩的值,初始化为负无穷,以便任何正数都能更新它
max_rank_score = float('-inf')
# 最小业绩的编号,假设编号从1开始
min_i = 0
# 最小业绩的值,初始化为正无穷,以便任何非正数都能更新它
min_rank_score = float('inf')

# 初始化编号变量,从1开始计数
index = 1

# 使用无限循环来持续读取输入,直到遇到EOF(文件结束符)
while True:
    try:
        # 读取一行输入,将其转换为字符串
        ai_str = input()
        # 如果输入为空字符串,则结束循环
        if ai_str == "":
            break
        # 将输入的字符串转换为整数
        ai = int(ai_str)
        # 如果当前输入的业绩大于已知的最大业绩,则更新最大业绩及其编号
        if ai > max_rank_score:
            max_rank_score = ai
            max_i = index
        # 如果当前输入的业绩小于已知的最小业绩,则更新最小业绩及其编号
        if ai < min_rank_score:
            min_rank_score = ai
            min_i = index
        # 编号递增,为下一个业绩做准备
        index += 1
    except EOFError:
        # 如果遇到EOF错误,则退出循环
        break

# 打印最大业绩的编号和值
print(f"{max_i} {max_rank_score}")
# 打印最小业绩的编号和值
print(f"{min_i} {min_rank_score}")

8、计算GPA

n = int(input()) #读入n门课数
total_credit =0
gpa_sum =0

for i in range(n):
    # Mi是计入GPA的各门课的学分
    credit = int(input())
    # Xi是该课程的成绩
    score  = int(input())
    if score >= 60:
        total_credit = total_credit + credit
        #GPA =∑(Mi × (4 - (3 × (100 - Xi) ^ 2) / 1600)) / (∑Mi)
        #其中:Mi是计入GPA的各门课的学分,Xi是该课程的成绩。
        gpa_sum = gpa_sum + credit * (4-(3*(100-score)**2)/1600)
    if total_credit == 0:
        gpa = 0
    else:
        gpa = gpa_sum / total_credit
print(f"{gpa:.4f}")
posted @ 2025-03-14 17:14  kkman2000  阅读(13)  评论(0)    收藏  举报