Python3算法基础练习:编程100例(11 ~ 15)

往期练习:

Python3算法基础练习:编程100例(1~5)
Python3算法基础练习:编程100例(6 ~ 10)

Python3算法基础练习:编程100例(11 ~ 15)

  • 11.兔子问题
  • 12.判断素数
  • 13.水仙花数
  • 14.正整数分解质因数
  • 15.成绩区分(条件运算符)

11.兔子问题

题目:
有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

分析:1,1,2,3,5,8,13,21… 找规律

代码:

f1 = 1
f2 = 1
for i in range(1,19):
    print ('%12ld %12ld' % (f1,f2), end=" ")
    if (i % 3) == 0:
        print ('')
    f1 = f1 + f2
    f2 = f1 + f2

结果:

Python3算法基础练习:编程100例(11 ~ 15)_第1张图片

12.判断素数

题目:判断101-200之间有多少个素数,并输出所有素数。

分析:判断是不是素数,用这个数 除以 2 到 sqrt(这个数),都不能整除 才是素数

代码:


total = 0
leap = 1
from math import sqrt
for m in range(101,201):
    k = int(sqrt(m + 1))
    for i in range(2,k + 1):
        if m % i == 0:
            leap = 0
            break
    if leap == 1:
        print ('%-4d' % m)
        total += 1
    leap = 1
print ('一共%d个' % total)

结果:
Python3算法基础练习:编程100例(11 ~ 15)_第2张图片

13.水仙花数

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

分析:暴力解法,三位数的每一位都分析

代码:

for n in range(100,1000):
    i = n // 100
    j = n // 10 % 10
    k = n % 10
    if n == i*i*i + j*j*j + k*k*k:
        print(n)

结果:
Python3算法基础练习:编程100例(11 ~ 15)_第3张图片

14.正整数分解质因数

题目:给定一个正整数,将给定的正整数分解质因数;

例如:90=2 x 3 x 3 x 5

分析& 代码:

参考:https://blog.csdn.net/qq_35531549/article/details/84889913

# 给定一个正整数,将给定的正整数分解质因数;
# 例如:输入90,打印出90=2*3*3*5。

n = int(input('请输入需要分解的正整数:'))

# 列表存放 质因数
lt = []
m = n
while n > 1:
    for i in range(2,n+1):
        if n%i==0:
            # n 替换一下分解后的新值
            n = n//i
            # 存放 质因数
            lt.append(str(i))
            break

if len(lt) == 1:
    print(m,'=',m)
else:
    s = '×'.join(lt)
    print(m,'=',s)

结果:

在这里插入图片描述
在这里插入图片描述

15.成绩区分(条件运算符)

题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。

分析:这题就很简单了,就是一个条件区分就OK了

代码:

# 利用条件运算符的嵌套来完成此题:
# 学习成绩>=90分的同学用A表示,
# 60-89分之间的用B表示,
# 60分以下的用C表示。

score = int(input('输入分数:\n'))
if score >= 90:
    grade = 'A'
elif score >= 60:
    grade = 'B'
else:
    grade = 'C'

print('%d 属于 %s' % (score, grade))


结果:
Python3算法基础练习:编程100例(11 ~ 15)_第4张图片
Python3算法基础练习:编程100例(11 ~ 15)_第5张图片

你可能感兴趣的:(#,Python编程习题100例,python,算法,数据结构)