2019-04-18 day_4_代码作业

4.19 11:42完成

读程序

1

numbers=1 # 定义初始变量
for i in range(0,20): # 进行20次循环
    numbers*=2 #变量乘以2赋值给变量本身
print(numbers) #输出 2 的 20次方
'''
代码功能:计算2的20次方
'''

2

summation=0 # 定义计数变量
num=1 # 定义数字变量
while num<=100: # 数字变量小于等于100时执行循环,一共执行100次循环
    if (num%3==0 or num%7==0) and num%21!=0: # 数字变量能整除3或能整除7但不能同时整除3和7时条件为真
        summation += 1 # 条件为真时,计数变量加1
    num+=1 #数字变量加1,执行下一次循环
print(summation) # 输出计数变量
'''
代码功能:统计 1-100中能被3或7整除但不能同时被3和7整除的数字个数
'''

代码题

3

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

for版本

sum = 0
ave = 0
for i in range(101):
    sum += i
ave = sum / 100
print("sum:",sum,"ave:",ave)

结果

sum: 5050 ave: 50.5

while版本

sum = 0
ave = 0
i = 1
while i <= 100:
    sum += i
    i += 1
ave = sum / 100
print("sum:",sum,"ave:",ave)

结果

sum: 5050 ave: 50.5

4

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

for版本

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

结果

1683

while版本

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

结果

1683

5

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

for版本

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

结果

4315

while版本

sum = 0
i = 1
while i <= 100:
    if i % 7 == 0:
        i += 1
        continue
    else:
        sum += i
    i += 1
print(sum)

结果

4315

稍微困难的题

1

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

num_1 = 1
num_2 = 1
num_new = 0 #替换
n = int(input("n:"))
i = 2 #计数
while True:
    num_new = num_1 + num_2 #将前两个数的和赋值给空变量
    num_1 = num_2 #向前移动赋值
    num_2 = num_new #向前移动赋值
    i += 1 #记录第几个数
    if i == n:
        break
print(num_new)

结果

n:8
21

2

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

for i in range(101,201): # 循环计数101到200
    for j in range(2,i): # 循环计数 2 到 i
        if i % j == 0: # 如果i能整除2到(i-1)中的某一个数的话,则判断i非素数,跳出j循环 进入i+1循环
            break
    else: #如果i不能整除2到(i-1)中的任何一个数,说明i只能整除1和i,判断i为素数
        print(i)

结果

101
103
107
109
113
127
131
137
139
149
151
157
163
167
173
179
181
191
197
199

3

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

i = 100
c = 0
while i < 1000:
    if i == ((i // 100) ** 3) + ((i // 10 % 10) ** 3) + ((i % 10) ** 3):
        c += 1
        print(i)
    i += 1

结果

153
370
371
407

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
new_fz = 0
for i in range(1,20):
    new_fz = fm + fz
    fm = fz
    fz = new_fz
print(fz,'/',fm)

结果

17711 / 10946

5

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

n = 10230
count = 0 #记录位数
while (n // 10) != 0: # 当n整除10为0的时候说明n<10,跳出循环
    m = n % 10 # 取最后一位数字
    n = n // 10 # n减少一位
    print(m) #倒序打印
    if n < 10: # 当n<10时直接打印n的整数部分,此时n为首位
        print(int(n))
        count += 1
    count += 1
print("位数:",count)

结果

0
3
2
0
1
位数: 5

html文件中的题

1

控制台输入年龄,根据年龄输出不同的提示(例如:老年人,青壮年,成年人,未成年,儿童)

age = int(input("age:"))
if age >= 0 and age <=3:
    print("幼儿")
elif age >= 4 and age <=12:
    print("儿童")
elif age >= 13 and age <=17:
    print("少年")
elif age >= 18 and age <=28:
    print("青年")
elif age >= 29 and age <=49:
    print("壮年")
elif age >= 50 and age <=69:
    print("中年")
elif age >= 70:
    print("老年")

结果

要不断的输入,太麻烦了。

2

计算5的阶乘 5!的结果是

res = 1
i = 5
while i >= 1:
    res *= i
    i -= 1
print(res)

结果

120

3

求1+2!+3!+...+20!的和 1.程序分析:此程序只是把累加变成了累乘

res = 0 #记录累加
for i in range(1,21): # 20次累加
    mul = 1 #记录累乘
    for j in range(1,i+1): # i次累乘
        mul *= j
    res += mul
print(res)

结果

2561327494111820313

4

计算 1+1/2!+1/3!+1/4!+...1/20!=?

res = 0 #记录累加
for i in range(1,21): # 20次累加
    mul = 1 #记录累乘
    for j in range(1,i+1): # i次累乘
        mul *= j
    res += (1/mul)
print(res)

结果

1.7182818284590455

5

循环输入大于0的数字进行累加,直到输入的数字为0,就结束循环,并最后输出累加的结果。

sum = 0
while True:
    num = float(input("input a num:"))
    if num == 0:
        break
    sum += num
print(sum)

结果

input a num:1
input a num:2
input a num:3
input a num:0
6.0

6

求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如:2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。 1.程序分析:关键是计算出每一项的值。

sum = 0
n = int(input("位数:"))
a = int(input("a:"))
num = 0 #求每一个数字
for i in range(0,(n + 1)):
    sum += num
    num = a*(10**i) + num 
    print(num)
print(sum)

结果

位数:5
a:2
2
22
222
2222
22222
222222
24690

7

输入三个整数x,y,z,请把这三个数由小到大输出。

x = int(input("x:"))
y = int(input("y:"))
z = int(input("z:"))
n = 0
if x < y and x < z:
    print(x)
    n = x
elif y < x and y < z:
    print(y)
    n = y
elif z < x and z < y:
    print(z)
    n = z
if x == n:
    if y < z:
        print(y)
        print(z)
    else:
        print(z)
        print(y)
if y == n:
    if x < z:
        print(x)
        print(z)
    else:
        print(z)
        print(x)
if z == n:
    if x < y:
        print(x)
        print(y)
    else:
        print(y)
        print(x)

结果

x:9
y:8
z:7
7
8
9

8

控制台输出三角形

a.根据n的值的不同,输出相应的形状
n = 5时             n = 4
*****               ****
****                ***
***                 **
**                  *
*

b.根据n的值的不同,输出相应的形状(n为奇数)
n = 5               n = 7
  *                    *
 ***                  ***
*****                *****
                    *******

答案

#a
n = int(input("n:"))
i = n
while i >= 1:
    print("*"* i)
    i -= 1
#b
n = int(input("请输入一个奇数n:"))
if n % 2 == 0:
    n = int(input("输的是偶数,请输入一个奇数n:"))
i = 1
while i <= n:
    if i % 2 != 0:
        print((" " * int(((n-i)/2))),"*"* i)
    i += 1

结果

#a
'''
n:6
******
*****
****
***
**
*
'''
#b
'''
请输入一个奇数n:8
输的是偶数,请输入一个奇数n:5
   *
  ***
 *****
'''

9

输出9*9口诀。 1.程序分析:分行与列考虑,共9行9列,i控制行,j控制列。

mul = 1
h = 1
l = 1
for h in range(1,10):
    for l in range(1,(h + 1)):
        if h >= l:# 当行号大于等于列号时不换行
            print(" ",h," ","*"," ",l," ","="," ",h * l,"   ", end = " ")
    print("\n")## 当行号小于列号时换行

结果

'''
  1   *   1   =   1     

  2   *   1   =   2       2   *   2   =   4     

  3   *   1   =   3       3   *   2   =   6       3   *   3   =   9     

  4   *   1   =   4       4   *   2   =   8       4   *   3   =   12       4   *   4   =   16     

  5   *   1   =   5       5   *   2   =   10       5   *   3   =   15       5   *   4   =   20       5   *   5   =   25     

  6   *   1   =   6       6   *   2   =   12       6   *   3   =   18       6   *   4   =   24       6   *   5   =   30       6   *   6   =   36     

  7   *   1   =   7       7   *   2   =   14       7   *   3   =   21       7   *   4   =   28       7   *   5   =   35       7   *   6   =   42       7   *   7   =   49     

  8   *   1   =   8       8   *   2   =   16       8   *   3   =   24       8   *   4   =   32       8   *   5   =   40       8   *   6   =   48       8   *   7   =   56       8   *   8   =   64     

  9   *   1   =   9       9   *   2   =   18       9   *   3   =   27       9   *   4   =   36       9   *   5   =   45       9   *   6   =   54       9   *   7   =   63       9   *   8   =   72       9   *   9   =   81     

'''

10

这是经典的"百马百担"问题,有一百匹马,驮一百担货,大马驮3担,中马驮2担,两只小马驮1担,问有大,中,小马各几匹?

for i in range(0,34):
    for j in range(0,51):
        if (3 * i + j * 2 + (100 - i - j) * 0.5) == 100:
            print("大马:",i,"中马:",j,"小马:",(100 - i - j))

结果

大马: 2 中马: 30 小马: 68
大马: 5 中马: 25 小马: 70
大马: 8 中马: 20 小马: 72
大马: 11 中马: 15 小马: 74
大马: 14 中马: 10 小马: 76
大马: 17 中马: 5 小马: 78
大马: 20 中马: 0 小马: 80

11

我国古代数学家张邱建在《算经》中出了一道“百钱买百鸡”的问题,题意是这样的: 5文钱可以买一只公鸡,3文钱可以买一只母鸡,1文钱可以买3只雏鸡。现在用100文钱买100只鸡,那么各有公鸡、母鸡、雏鸡多少只?请编写程序实现。

for i in range(0,21):
    for j in range(0,34):
        if (5 * i + 3 * j + (100 - i - j) * (1/3)) == 100:
            print("公鸡:",i,"母鸡:",j,"雏鸡:",(100 - i - j))

结果

公鸡: 0 母鸡: 25 雏鸡: 75
公鸡: 4 母鸡: 18 雏鸡: 78
公鸡: 8 母鸡: 11 雏鸡: 81
公鸡: 12 母鸡: 4 雏鸡: 84

12

小明单位发了100元的购物卡,小明到超市买三类洗化用品,洗发水(15元),香皂(2元),牙刷(5元)。要把100元整好花掉,可如有哪些购买结合?

for i in range(0,7):
    for j in range(0,51):
        for k in range(0,21):
            if (15 * i + 2 * j + k * 5) == 100:
                print("洗发水:",i,"香皂:",j,"牙刷:",k)

结果

'''
洗发水: 0 香皂: 0 牙刷: 20
洗发水: 0 香皂: 5 牙刷: 18
洗发水: 0 香皂: 10 牙刷: 16
洗发水: 0 香皂: 15 牙刷: 14
洗发水: 0 香皂: 20 牙刷: 12
洗发水: 0 香皂: 25 牙刷: 10
洗发水: 0 香皂: 30 牙刷: 8
洗发水: 0 香皂: 35 牙刷: 6
洗发水: 0 香皂: 40 牙刷: 4
洗发水: 0 香皂: 45 牙刷: 2
洗发水: 0 香皂: 50 牙刷: 0
洗发水: 1 香皂: 0 牙刷: 17
洗发水: 1 香皂: 5 牙刷: 15
洗发水: 1 香皂: 10 牙刷: 13
洗发水: 1 香皂: 15 牙刷: 11
洗发水: 1 香皂: 20 牙刷: 9
洗发水: 1 香皂: 25 牙刷: 7
洗发水: 1 香皂: 30 牙刷: 5
洗发水: 1 香皂: 35 牙刷: 3
洗发水: 1 香皂: 40 牙刷: 1
洗发水: 2 香皂: 0 牙刷: 14
洗发水: 2 香皂: 5 牙刷: 12
洗发水: 2 香皂: 10 牙刷: 10
洗发水: 2 香皂: 15 牙刷: 8
洗发水: 2 香皂: 20 牙刷: 6
洗发水: 2 香皂: 25 牙刷: 4
洗发水: 2 香皂: 30 牙刷: 2
洗发水: 2 香皂: 35 牙刷: 0
洗发水: 3 香皂: 0 牙刷: 11
洗发水: 3 香皂: 5 牙刷: 9
洗发水: 3 香皂: 10 牙刷: 7
洗发水: 3 香皂: 15 牙刷: 5
洗发水: 3 香皂: 20 牙刷: 3
洗发水: 3 香皂: 25 牙刷: 1
洗发水: 4 香皂: 0 牙刷: 8
洗发水: 4 香皂: 5 牙刷: 6
洗发水: 4 香皂: 10 牙刷: 4
洗发水: 4 香皂: 15 牙刷: 2
洗发水: 4 香皂: 20 牙刷: 0
洗发水: 5 香皂: 0 牙刷: 5
洗发水: 5 香皂: 5 牙刷: 3
洗发水: 5 香皂: 10 牙刷: 1
洗发水: 6 香皂: 0 牙刷: 2
洗发水: 6 香皂: 5 牙刷: 0
'''
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,402评论 6 499
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,377评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,483评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,165评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,176评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,146评论 1 297
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,032评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,896评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,311评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,536评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,696评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,413评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,008评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,659评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,815评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,698评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,592评论 2 353