PTA Python实验4 循环结构

目录

7-1 求圆周率pi的估算值

7-2 百分制成绩转换五分制(循环)

7-3 字符串加密

7-4 整钱换零钱

7-5 输出指定位数的最小斐波纳契数


7-1 求圆周率pi的估算值

作者 殷伟凤

单位 浙江传媒学院

输入一个n 表示项数,使用以下公式求圆周率π 的估算值:
π=12​(1−3×31​+5×321​−7×331​+...)

输入格式:

输入一个n

输出格式:

输出π 的估算值

输入样例1:

在这里给出一组输入。例如:

1

输出样例1:

在这里给出相应的输出。例如:

pi = 3.0792014356780038

输入样例2:

在这里给出一组输入。例如:

2

输出样例2:

在这里给出相应的输出。例如:

pi = 3.156181471569954
import math
n=eval(input())
x=1
sum=1
while x<=n:
    sum+=(-1)**x*(1/((2*x+1)*3**x))
    x+=1
y=math.sqrt(12)*sum
print("pi = {}".format(y))

7-2 百分制成绩转换五分制(循环)

作者 赵广辉

单位 武汉理工大学

编写一个学生成绩转换程序,用户输入百分制的学生成绩:

90~100时,输出为“A”,

80~89时,输出为“B”,

70~79时,输出为“C”,

60~69时,输出为“D”,

0~59时,输出为“E”。

输入数据超过100时,输出“data error!”。

用户可反复输入成绩进行转换,输入负数时,输出“end”并结束程序。

输入格式:

每次输入一个整数,代表百分制成绩;反复输入,输入负数结束程序

输出格式:

根据每一次的输入值分别输出A、B、C、D、E中的一个字母或"data error!"或"end"。输出end时程序结束。

输入样例:

88
156
99
-4

输出样例:

B
data error!
A
end

输入样例:

34
-3

输出样例:

E
end

输入样例:

-5

输出样例:

end
while 1:
    x=eval(input())
    if x<0:
        print("end")
        break
    elif x<60:
        print("E")
    elif x<70:
        print("D")
    elif x<80:
        print("C")
    elif x<90:
        print("B")
    elif x<101:
        print("A")
    else:
        print("data error!")

7-3 字符串加密

作者 赵广辉

单位 武汉理工大学

用户在一行中输入一个包括大小写字母和数字的字符串,编程将其中的大写字母用该字母后的第5个字母替代,小写字母用该字母后的第3个字符替代,其他字符原样输出,实现字符串加密。如:A--F,b--e,Z---E,w--z

输入格式:

输入一个至少包含一个字母的字符串

输出格式:

加密后的字符串

输入样例:

在这里给出一组输入。例如:

Life is short, you need Python!

输出样例:

在这里给出相应的输出。例如:

Qlih lv vkruw, brx qhhg Ubwkrq!
s=input()
for ch in s:
    if ch.isupper():
        x=chr((ord(ch)-65+5)%26+65)
        print(x,end="")
    elif ch.islower():
        y=chr((ord(ch)-97+3)%26+97)
        print(y,end="")
    else:
        print(ch,end="")

'''s=input()
x=len(s)
n=0
while n

7-4 整钱换零钱

作者 python备课组

单位 福州大学至诚学院

将一张面额50元的钱币换成1元、5元、10元、20元的零钱,要求每种面额的零钱都要有,输出共几种方案,以及每一种方案。

输入格式:

输出格式:

输出每一种方案,以及共几种方案。

输入样例:

在这里给出一组输入。例如:

输出样例:

在这里给出相应的输出。例如:

可换得1元5张,5元1张,10元2张,20元1张。
可换得1元5张,5元3张,10元1张,20元1张。
可换得1元10张,5元2张,10元1张,20元1张。
可换得1元15张,5元1张,10元1张,20元1张。
共4种方案。
money=50
one = money//1#a
five = money//5#b
ten = money//10#c
twenty = money//20#d
n=0
for a in range(1,one+1):
    for b in range(1,five+1):
        for c in range(1,ten+1):
            for d in range(1,twenty+1):
                if a+5*b+10*c+20*d==money:
                    n+=1
                    print(f"可换得1元{a}张,5元{b}张,10元{c}张,20元{d}张。")
print(f"共{n}种方案。")

7-5 输出指定位数的最小斐波纳契数

作者 马杨珲

单位 浙江科技学院

斐波那契数,亦称之为斐波那契数列,指的是这样一个数列:1、1、2、3、5、8、13、21、……,这个数列从第3项开始,每一项都等于前两项之和。求指定位数的最小斐波那契数。

输入格式:

输人一个整数n(n>1)。

输出格式:

输出斐波纳契数列中,最小的n位数。

输入样例1:

在这里给出一组输入。例如:

2

输出样例1:

在这里给出相应的输出。例如:

13

输入样例2:

在这里给出一组输入。例如:

5

输出样例2:

在这里给出相应的输出。例如:

10946
a=1
b=1
x=eval(input())
while 1:
    c=a+b
    if c>10**(x-1):
        print(c)
        break
    a,b=b,c

你可能感兴趣的:(python,python)