欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

1:Python基础-Day4-循环和分支练习

程序员文章站 2022-03-02 12:13:54
...

1.求斐波那契数列中的第n个数的值:1,1,2,3,4,5,8,13,21,34…

while True:
    n=int(input("请输入斐波那契数的序号:"))
    qian=1
    hou=1
    if n<=0:
        print('请输入正数')
    elif n<=2:
        print('斐波那契数列第',n,'位是',1)
    else:
        for i in range(n-2):
            qian,hou = hou,qian+hou

        print('斐波那契数列第',n,'位是',hou)

2.判断101-200之间有多少个素数,并输出所有的素数。方法:用一个数分别除2到sqrt(这个数),如果能被整除,则表明次数不是素数反之是素数。

prime_count=0  # 定义素数的数量 for i in range(101,201):  # 外循环查找素数
    judge = True          # 先假定为素数
    for j in range(2,i):
        if(i%j==0):       # 内循环查找,一旦发现有除过1和它本身的因数,立马判断为非素数
           judge =  False
           break
    else:
        prime_count +=1
        print(i)

print('101-200素数的数量是', prime_count)

3.打印出所有的水仙花数,所谓水仙花数是指一个三位数,其各位数字立方和等于该数字本身,例如153是一个水仙花数,因为153=1^3 +5^3 +3^3

		print('水仙花数有:')
		for i in range(100,1000):
		    hundred_number = i // 100            # 获取百位
		    decade_number = i // 10 % 10         # 获取十位
		    last_number = i % 10                 # 获取个位
		    if i == hundred_number**3+decade_number**3+last_number**3:
		        print(i)
		print('结束')

4.有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的第20个分数。 分子:上一个分数的分子加分母,分母: 上一个分数的分子

fz = 2
fm = 1
for _ in range(19):
    fz,fm = fz+fm,fz   #先执行右边,再赋值运算给左边
print(fz,'/',fm)

5.给一个正整数,要求:1、求它是几位数 2.逆序打印出各位数:

while True:
    number  = input('请输入一个正整数:')

    if (number.isdigit()):
        number = int(number)
        total_number = 0
        print('逆序打印各位数字:')
        while number % 10 != 0:
            print(number % 10,end="")
            number = number // 10
            total_number += 1

        print('\n该正整数有',total_number,'位')
    else:
        print('输入错误!')
相关标签: Python