• PTA的Python练习题(二)


    继续在PTA上练习Python

    (从 第2章-5 求奇数分之一序列前N项和  开始)

    1.

    x=int(input())
    a=i=1
    s=0
    while(i<=x):
        s=s+1/a
        a=a+2
        i=i+1
    print('sum = %.6f' %(s))

    2.

    求交错级数也考虑了很久,这里要引入flag来计算。有时候表达式写的太繁琐,程序就进入了死循环。

    n=int(input())
    s=a=0
    b=-1
    flag=1
    for i in range(1,n+1):
            a=a+1
            b=b+2
            s=s+a/b*flag
            flag=-flag
    print('%.3f' %(s))

    3.

    这道题做过类似的,不过不算逗号输入可以简单点写

    x=int(input())
    n=int(input())
    i=0
    s=0
    while(i<n):
        s=s+x*10**i
        i=i+1
    print(s)

    但是这里要写逗号,还要在同一行输入:

    之前的 .split( )意识是用空格来分隔输入,这里换成逗号 

    x,n=map(int,input().split(","))
    i=0
    s=0
    while(i<n):
        s=s+x*10**i
        i=i+1
    print(s)

    4.

    转换函数这道题本来是有题目缺陷的

    用了下强制类型转换,答案是照输入的数来写的,一旦超过两位数就不能用了

    a,b=map(int,input().split(","))
    c=int(a/10)
    d=c*b
    e=a-10*c
    f=e+d
    print(f)

    5.

    比较大小,一个和冒泡排序有关的题目。自己写了很多很多if,最后还是参考了网上唯一的资料(链接

    N = input().split()
    a = []
    for i in N:
        a.append(int(i))
    a = sorted(a)
    for i in range(3):
        if i == 2:
            print(a[i])
        else:
            print(a[i], end='->')

    sorted排序函数的用法(链接

    range函数的用法(链接

    6.

    题目没怎么看懂

    a,b=map(int,input().split())
    if b<a:
        print("Invalid.")
    else:
        print("fahr celsius")
        while a<=b:
            d = 5*(a-32)/9
            if (d<=-10.0)or(d>=10.0):
                print("%d  %.1f" %(a,d))
            elif d<-0.0:
                print("%d  %.1f" %(a,d))
            a+=2

    网上参考的代码,但是死活不输出结果,可能是我pycharm编译器的问题

    [Sign]做不出ctf题的时候很痛苦,你只能眼睁睁看着其他人领先你
  • 相关阅读:
    选择、插入、气泡排序
    JDBC基础学习(四)—数据库事务
    JDBC基础学习(三)—处理BLOB类型数据
    JDBC基础学习(二)—PreparedStatement
    JDBC基础学习(一)—JDBC的增删改查
    JavaWeb总结(十)—文件上传和下载
    JavaWeb总结(九)—过滤器
    JavaWeb总结(八)—EL表达式
    Java基础学习(三)—面向对象(上)
    MySQL学习笔记(一)—数据库基础
  • 原文地址:https://www.cnblogs.com/echoDetected/p/12260258.html
Copyright © 2020-2023  润新知