• 2022年python国际化课程上机考试二题解


    问题 A: Encode

    ord和chr函数会很方便,特判z

    1. n=input()
    2. a=[]
    3. for x in n:
    4. if(x=='z'):
    5. a.append(100)
    6. else:
    7. a.append(ord(x)+4)
    8. for i in a:
    9. print(chr(i),end='')

    问题 B: Temperature conversion

    1. n=float(input())
    2. print("c="+"%.2f"%(5*(n-32)/9))

    问题 C: Integer

    反向循环或reserve

    1. s=input()
    2. print(len(s))
    3. for i in s:
    4. print(i,end=" ")
    5. print("")
    6. for i in range(len(s)-1,-1,-1):
    7. print(s[i],end="")

    问题 D: Profits

    大模拟,最后写的,能少罚时

    1. a=int(input())
    2. m=0
    3. #print(100000*0.1)
    4. #print(100000*0.075)
    5. #print(200000*0.05)
    6. if a<100000:
    7. m=a*0.1
    8. if a>100000 and a<=200000:
    9. m=10000+(a-100000)*0.075
    10. if a>200000 and a<=400000:
    11. m=17500+(a-200000)*0.05
    12. if a>400000 and a<=600000:
    13. m=27500+(a-400000)*0.03
    14. if a>600000 and a<=1000000:
    15. m=33500+(a-600000)*0.015
    16. if a>1000000:
    17. m=39500+(a-1000000)*0.01
    18. m=int(m)
    19. print(m)

    问题 E: Three sum

    1. a,b,c=map(int,input().split())
    2. num=0
    3. for i in range(1,a+1):
    4. num+=i
    5. for i in range(1,b+1):
    6. num+=i**2
    7. for i in range(1,c+1):
    8. num+=1/i
    9. print("%.2f"%num)

    问题 F: Daffodil number

    这四个数背都背下来了 QAQ

    1. print("153")
    2. print("370")
    3. print("371")
    4. print("407")

    问题 G: Perfect number

    1. n=int(input())
    2. for i in range(2,n):
    3. lis=[]
    4. sum=0
    5. for j in range(1,i//2+1):
    6. if i%j==0:
    7. lis.append(j)
    8. sum+=j
    9. if sum==i:
    10. print(i,end="")
    11. print(" its factors are ",end="")
    12. for t in lis:
    13. print(t,end=" ")
    14. print("")

    问题 H: Sequence summation

    1. n=int(input())
    2. sum=0
    3. a=2
    4. b=1
    5. for i in range(0,n):
    6. sum+=a/b
    7. tmp=a
    8. a=a+b
    9. b=tmp
    10. print("%.2f"%sum)

    问题 I: Free fall

    每弹跳一次减半

    问总路径和最后高度

    1. m,n=map(int,input().split())
    2. sum=0
    3. for i in range(0,n):
    4. sum+=m+m/2
    5. m/=2
    6. sum=sum-m
    7. print("%.2f %.2f"%(m,sum))

    问题 J: Prime number

    筛质数

    1. n=int(input())
    2. for i in range(2,n):
    3. fl=0
    4. for j in range(2,i//2+1):
    5. if i%j==0:
    6. fl=1
    7. break
    8. if fl==0:
    9. print(i)

  • 相关阅读:
    mkdir-创建目录文件
    Nginx学习(二)
    ReentrantReadWriteLock(可重入读写锁)
    Twincat-Simulink 出现问题总结
    vue ref和$refs获取组件实例
    oracle10数据库迁移
    免费SSL证书和付费SSL证书的区别
    uniapp引入Tensorflow.js所会发生的一些问题( 主要发布平台 微信小程序 )
    温习JAVA
    全面解析优化企业Microsoft 365网络的加速方案
  • 原文地址:https://blog.csdn.net/m0_61735576/article/details/127757249