2018-08-23 day04-作业

基础

1.读程序,总结程序的功能:

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

功能:计算2的20次方,并打印出这个数

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

功能:找出1~100间能被3或者7整除但不能被2整除的数,并打印这样数的个数

编程实现(for和while各写一遍)
1.求1到100之间所有数的和、平均值
for循环:

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

while循环:

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

2.计算1-100之间的能被3整除的数的和
for循环:

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

while循环:

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

3.计算1-100之间的不能被7整除的数的和
for循环:

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

while循环:

count = 1
sum = 0
while count <= 100:
    if count % 7:
        sum += count
    count += 1
print(sum)
稍微困难

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

a = 0;b = 1
n = 7
for x in range(n-1):
    a,b = b,a+b
print('第%d个斐波那契数是%d'%(n,b))

运行结果:
第7个斐波那契数是13
[Finished in 0.2s]

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

import math
count = 0
for n in range(101,201):
    for i in range(2,int(math.sqrt(n))+1):
        if n % i == 0:
            break
    else:
        count += 1
        print(n,end = ' ')
print('101-200之间有%d个素数'%(count))    

运行结果:
101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199 
101-200之间有21个素数
[Finished in 0.3s]

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

for x in range(100,1000):
    bai = x//100
    shi = x//10%10
    ge = x%10
    if x == (bai**3 + shi**3 + ge**3):
        print(x)

运行结果:
153
370
371
407
[Finished in 0.3s]

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

fz = 2
fm = 1
for x in range(1,20):
    fz,fm = fz+fm,fz
print('第20个分数:%d/%d'%(fz,fm))

运行结果:
第20个分数:17711/10946
[Finished in 0.3s]

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

num = 123
str = str(num)
length = len(str)
print('它是%d位数'%(length))
print(str[::-1])

运行结果:
它是一个3位数
321
[Finished in 0.3s]
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 读程序,总结程序的功能: 答:本题输出结果为2的20次方,其功能是求2的n次方(n=1~20) 改正:功能是求2的...
    晓晓的忍儿阅读 3,207评论 0 5
  • 在C语言中,五种基本数据类型存储空间长度的排列顺序是: A)char B)char=int<=float C)ch...
    夏天再来阅读 9,158评论 0 2
  • 1. 2的20次方 2. 能被3或7整除 且不能被21整除得数(100以内上述数的个数) 1.求1到100之间所有...
    跟我念一遍阅读 2,463评论 0 6
  • 读程序,总结程序的功能: 求2的20次方 100以内的整数中,能够被3或者7整除但是不能被21整除的个数 编程实现...
    七一欧阅读 1,585评论 0 3
  • 昨天有宝妈说她家有《爸妈不是我用人》这本书,可以借我看两天,我非常高兴,因为牛牛正需要一本这样的书,而且牛牛也正需...
    一只小飞啾啾阅读 1,346评论 0 0

友情链接更多精彩内容