美文网首页
Day5-Python-作业-2018/12/28

Day5-Python-作业-2018/12/28

作者: PIECE_MAN | 来源:发表于2018-12-28 20:57 被阅读0次

读程序,总结程序的功能

1.

numbers = 1
for i in range(0,20):
    numbers*=2
print(numbers)

求 2 的 20 次方

2.

summation = 0
num = 1
while num <= 100:
    if (num % 3 == 0 or num % 7 == 0) and num % 21 !== 0:
          summation += 1
    num += 1
print(summation)

求 1-100 中 能被 3 或 7 整除 且 不能被 21 整除的数的个数

3.编程实现(for和while各写一遍)

3.1 求 1 到 100 之间所有数的和、平均值

for:

sum = 0
for num in range(1,101):
    sum += num
print(sum)
print(sum/100)

while:

sum = 0
num = 1
while num <= 100:
    sum += num
    num += 1
print(sum,sum/100)

3.2 计算 1-100 之间能被 3 整除的数的和

for:

sum = 0
for num in range(1,101):
    if num % 3 == 0:
        sum += num
print(sum)

while

sum = 0
num = 1
while num <= 100:
    if num % 3 == 0:
        sum += num
    num += 1
print(sum)

3.3 计算 1-100 之间不能被 7 整除的数的和

for:

sum = 0
for num in range(1,101):
    if num % 7 != 0:
        sum += num
print(sum)

while:

sum = 0
num = 1
while num <= 100:
    if num % 7 != 0:
        sum += num
    num += 1
print(sum)

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

num = int(input('请输入n:'))
num0 = 0
num1 = 1
num2 = 1
if num == 1 or num == 2:
    print(1)
else:
    while num0 < num-2: # num0 即执行了几次循环,因为执行 num0 次就会得到第 num0+2 个数
        num3 = num1 + num2
        num1 = num2
        num2 = num3
        num0 += 1
    print('第%d个数是:%d' % (num,num3))

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

判断素数的方法:用一个数分别除2到sqrt(这个数),如果能被整除,则表明此数不不是素数,反之是素数

for num in range(101,201):
    count = 0
    for x in range(2,num):
        if num % x == 0:
            count += 1
            break # break 比 continue 更节省资源
    if count == 0: # num / 所有x 后,count 还是0 ,即为素数
        print('%d是素数' % (num))

2.3 打印出所有的水仙花数,所谓水仙花数是指一个三位数,其各位数字立方和等于该数本身。

例如: 153 是一个水仙花数,因为153 = 1^3 + 5^3 + 3^3

for num in range(100,1000):
    num0 = num // 100 # 获取百位
    num1 = num // 10 % 10 # 获取十位
    num2 = num % 10 # 获取个位
    if num == num0**3 + num1**3 + num2**3:
        print('水仙数:%d' % (num))

2.4 有一个分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的第20个分数

分子:上一个数的分子加分母 分母:上一个数的分子

fz = 2
fm = 1
num = 0
n = int(input('请输入n:'))
while num < n-1: # num 即 执行了几次循环体 ,因为执行一次即第二个数,那么求第n个数就该执行n-1次
    fz = fz + fm
    fm = fz -fm
    num += 1
print('第%d个数是:%d/%d' % (n,fz,fm))

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

num = input('请输入正整数:')
length = len(num)
str1 = str(num)
new_str = str1[::-1]
# 字符串倒序 还可以通过遍历倒序
# for x in str1(-1,-length,-1)
print('它是%d位数' % (length),int(new_str))

相关文章

网友评论

      本文标题:Day5-Python-作业-2018/12/28

      本文链接:https://www.haomeiwen.com/subject/rvaelqtx.html