码迷,mamicode.com
首页 > 编程语言 > 详细

PTA的Python练习题(二)

时间:2020-02-04 18:28:57      阅读:292      评论:0      收藏:0      [点我收藏+]

标签:end   bsp   奇数   net   pen   单点   print   网上   一个   

继续在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编译器的问题

PTA的Python练习题(二)

标签:end   bsp   奇数   net   pen   单点   print   网上   一个   

原文地址:https://www.cnblogs.com/echoDetected/p/12260258.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!