python入门学习随记(六)

6-1 求1!+3!+5!+……+n!

求1!+3!+5!+……+n!的和,要求用循环嵌套设计,n<12。

输入格式:
输入在一行中给出一个不超过12的正整数n。

输出格式:
在一行中按照格式“n=n值,s=阶乘和”的顺序输出,其中阶乘和是正整数。

输入样例:

5

输出样例:

n=5,s=127

a = 1
b = 0
n = int(input())
for s in range(1,n+1,2):
    for i in range(1,s+1):
        a = a*i
    b = b + a
    a = 1

print('n={0},s={1}'.format(n,b))

6-2 字符串-统计不同字符个数

对一行字符串统计不同字符个数,分别统计并输出中英文字符、空格、数字和其他字符个数。

输入格式:
一行字符串

输出格式:
依次输出中英文字符、空格、数字、和其他字符个数。

注意:中文数字字符,如七,算作中英文字符,而不算数字字符。

输入样例:

Hi! 天气不错 二十八度 28℃。

输出样例:

10 3 2 3

x = input()
a = 0
b = 0
c = 0
d = 0
for n in x:
    if n.isalpha():
        a+=1
    elif n.isspace():
        b+=1
    elif n.isdigit():
        c+=1
    else :
        d = d+1
print('{0} {1} {2} {3}'.format(a,b,c,d))

6-3 求满足条件的斐波那契数

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

输入格式:
在一行输人一个正整数n(n>=10)。

输出格式:
在一行输出大于n的最小斐波那契数。

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

10

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

13

x = int(input())
a = 1
b = 1
n = 0
while x >= n:
    n = a+b
    b = a
    a = n
print(n)

6-4 最大公约数和最小公倍数

本题要求两个给定正整数的最大公约数和最小公倍数。

输入格式:
输入在一行中给出两个正整数M和N(≤1000)。

输出格式:
在一行中顺序输出M和N的最大公约数和最小公倍数,两数字间以1空格分隔。

输入样例:

511 292

输出样例:

73 2044

x,y = map(int,input().split())
if x < y:
    x,y = y,x
for s in range(y,0,-1):
    if x%s == 0 and y%s == 0:
        print(s,end=(' '))
        break
for i in range(x,x*y+1):
    if i%x == 0 and i%y == 0:
        print(i)
        break

6-5 s=1+2+3+…+n直到s>=m

s=1+2+3+…+n,当s刚超过某个数时,停止运算。求n和s的值

输入格式:
例如:输入1000

输出格式:
输出格式 :1035=1+2+…+45

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

1000

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

1035=1+2+…+45

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

10000

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

10011=1+2+…+141

x = int(input())
a = 0
for i in range(1,x):

    a = a + i
    if a >= x:
        print('{0}=1+2+...+{1}'.format(a,i))
        break

6-6 求s=1+x+x/2!+x2/3!+…+xn/(n+1)!

用户在一行中输入整数 x 和 n(逗号分隔),计算并输出
在这里插入图片描述的值,结果保留小数点后6位

输入格式:
例如:输入1,1

输出格式:
输出:s=1 + 1 +1/2! = 2.500000

输入格式:
例如:输入2,3

输出格式:
输出:s=1 + 2 +2/2! + 4/3! + 8/4! = 5.000000

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

3,2

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

s=1 + 3 + 3/2! + 9/3! = 7.000000

a = input()
x,n = map(int,a.split(','))
s = 1 + x
b = 1 
i = 2
print('s=1 + {0} '.format(x),end='')
for j in range(1,n+1):
    print('+ {0}/{1}! '.format(x**j,i),end='')
    b = b*i
    s = s + x**j/b
    
    i = i+1
s=("%.6f" % s)
print('= {0}'.format(s))

你可能感兴趣的:(python)