- a = int(input('请输入一个十进制整数:'))
- print(a,'转化的二进制为',bin(a))
- print(a,'转化的八进制为',oct(a))
- print(a,'转化的十六进制为',hex(a))
- # 请输入一个十进制整数:12
- # 12 转化的二进制为 0b1100
- # 12 转化的八进制为 0o14
- # 12 转化的十六进制为 0xc
- f=int(input('请输入华氏温度:'))
- c=5/9*(f-32)
- print('摄氏温度为%.2f'%c)
- # 请输入华氏温度:75
- # 摄氏温度为23.89
- a=int(input('请输入一个两位数整数:'))
- b=int(input('请输入一个两位数整数:'))
- if a>=100 and b>=100:
- print('输入数据有误,请重新输入!')
- elif a<=10 and b<=10:
- print('输入数据有误,请重新输入!')
- else:
- c=a//10*1000+b//10*100+a%10*10+b%10
- print('合成的新四位数为:',c)
- # 请输入一个两位数整数:54
- # 请输入一个两位数整数:12
- # 合成的新四位数为: 5142
- a=int(input('请输入你的工资总额:'))
- print('100元的张数为:',a//100)
- print('50元的张数为:',a%100//50)
- print('20元的张数为:',a%100%50//20)
- print('10元的张数为:',a%100%50%20//10)
- print('5元的张数为:',a%100%50%20%10//5)
- print('1元的张数为:',a%100%50%20%10%5)
- # 请输入你的工资总额:15896
- # 100元的张数为: 158
- # 50元的张数为: 1
- # 20元的张数为: 2
- # 10元的张数为: 0
- # 5元的张数为: 1
- # 1元的张数为: 1
- import math
- a = int(input('请输入边长:'))
- b = int(input('请输入边长:'))
- c = int(input('请输入边长:'))
- s = (a+b+c)/2
- area = math.sqrt(s*(s-a)*(s-b)*(s-c))
- print('面积为:',area)
- # 请输入边长:3
- # 请输入边长:4
- # 请输入边长:5
- # 面积为: 6.0
- a=int(input('请输入第一个值:'))
- b=int(input('请输入第二个值:'))
- max=a
- if a
- max=b
- print('最大值为:',max)
- # 请输入第一个值:12
- # 请输入第二个值:23
- # 最大值为: 23
7.输入一个整数,判断奇偶数
- a = int(input('请输入一个整数:'))
- if a%2==0:
- print('该数是偶数')
- else:
- print('该数是奇数')
- # 请输入一个整数:12
- # 该数是偶数
8.判断一个数能被7或11整除,但不能同时被7或11整除
- a = int(input('请输入一个整数:'))
- if (a%7==0 or a%11==0) and a%77!=0:
- print('yes')
- else:
- print('no')
- # 请输入一个整数:7
- # yes
9.判断闰年:可被4整除,不能被100整除,可被400整除
- y = int(input('请输入一个四位数年份:'))
- if y%4==0 and y%100!=0 or y%400==0:
- print('该年是闰年')
- else:
- print('该年是平年')
- # 请输入一个四位数年份:2020
- # 该年是闰年
10. 输入三个整数,降序输出:
- a = int(input('请输入第一个整数:'))
- b = int(input('请输入第二个整数:'))
- c = int(input('请输入第三个整数:'))
- if a>b>c:
- print(a,b,c)
- elif a>c>b:
- print(a,c,b)
- elif b>c>a:
- print(b,c,a)
- elif b>a>c:
- print(b,a,c)
- elif c>a>b:
- print(c,a,b)
- else:
- print(c,b,a)
- # 请输入第一个整数:3
- # 请输入第二个整数:4
- # 请输入第三个整数:2
- # 4 3 2
11.输入一个百分制成绩,输出等级
- a = int(input('请输入一个百分制成绩:'))
- if a <= 0 or a > 100:
- print('输入数据有误,请重新输入!')
- elif 100 >= a >= 90:
- print('优秀')
- elif 80 <= a < 90:
- print('良好')
- elif a >= 60:
- print('及格')
- else:
- print('不及格')
- # 请输入一个百分制成绩:79
- # 及格
12.计算下列多项式的值:

- sum=1
- for i in range(2,101):
- sum = sum + 1 / i
- print('%.6f'%sum)
- # 5.187378
13.计算下列多项式的值

- sum = 1
- f = -1
- for i in range(2,101):
- sum= sum+1/i*f
- f = -f
- print('%.6f'%sum)
- # 0.688172
14.计算下列多项式的值

- sum = 1
- num = 1
- for i in range(2,101):
- num = num +i
- sum = sum + 1/num
- print('%.6f'%sum)
- # 1.980198
15.计算下列多项式的和

- z = 3
- m = 2
- t = 0
- sum = 0
- for i in range(20):
- t = z
- z = m+z
- m = t
- sum = sum + z/m
- print('%.6f'%sum)
- # 32.396329
16.计算π的近似值公式

- pi = 1
- f = -1
- i = 3
- while 1/i>1e-6:
- pi = pi +1/i*f
- f = -f
- i = i+2
- print('pi=%.6f'%(pi*4))
- # pi=3.141591
17.用泰勒级数计算e的近似值

- sum = 1
- t = 1
- i = 1
- while 1/t>1e-6:
- t = t*i
- sum = sum + 1/t
- i += 1
- print('sum=%.6f'%sum)
- # sum=2.718282
18.计算a+aa+aa+aaa…aaa的值,计算前六项和,a=2
- a = 2
- sum = 0
- for i in range(6):
- sum = sum + a
- a = a*10 + 2
- print('sum = ',sum)
- # sum = 246912
19.计算r=1到r=10时的圆的面积,直到面积大于100为止
- import math as a
- for r in range(1,11):
- area = a.pi*r*r
- if area>100:
- break
- print('r:',r,'area: is:%.6f'%area)
- # r: 6 area: is:113.097336
20.将100-150之间的不能被3整除的数输出,一行输出10个数
- i = 0
- for n in range(100,151):
- if n%3 == 0:
- continue
- print(n,end=' ')
- i+= 1
- if i%10 == 0:
- print()
- # 100 101 103 104 106 107 109 110 112 113
- # 115 116 118 119 121 122 124 125 127 128
- # 130 131 133 134 136 137 139 140 142 143
- # 145 146 148 149
21.找出2,3,5的最小公倍数
- for i in range(1, 100):
- if i % 2 == 0 and i % 3 == 0 and i % 5 == 0:
- print('%d是2,3,5的最小公倍数' % i)
- break
- else:
- print('未找到!')
- # 30是2,3,5的最小公倍数
22.输入整数,判断是否为素数:
- # 法1
- p = int(input('请输入一个正整数:'))
- if p<2: # 保证输入数据大于2
- print('请输入大于2的正整数!')
- else:
- for i in range(2,p):
- if p%i == 0:
- print('平数')
- break
- else: # 循环顺利结束后执行
- print('素数')
- # 请输入一个正整数:12
- # 平数
-
- # 法2
- p = int(input('请输入一个正整数:'))
- i = 2
- if p<2: # 保证输入数据大于2
- print('请输入大于2的正整数!')
- else:
- while p%i !=0: # 检测结果是否为非0
- i = i+1
- if i == p:
- print('素数')
- else:
- print('平数')
- # 请输入一个正整数:11
- # 素数
23.输出100以内的素数
- for i in range(2,100): #遍历2-99
- for j in range(2,i):
- if i%j == 0:
- break
- else:
- print(i,end=' ') # 输出素数
- # 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
24.输出200-400的非素数
- t = 0
- for m in range(200, 400):
- for n in range(2, m):
- if m % n == 0:
- print(m, end=' ')
- t = t+1
- if t%10==0:
- print()
- break
25.输出大于s且紧随s的k个素数
- s = int(input('请输入起始值:'))
- k = int(input('请输入需要的素数个数:'))
- i = s + 1
- t = 0 # 计数器,记录找到的素数个数
- while t < k: # 当自己找到的素数个数t小于指定个数k的时候,继续寻找
- for j in range(2, i): # 判断i是否为素数
- if i % j == 0:
- break
- else:
- t = t + 1 # 记录找到的素数个数
- print(i, end=' ') # 输出素数
- i = i + 1 # 继续下一个数的寻找
- # 请输入起始值:12
- # 请输入需要的素数个数:3
- # 13 17 19
26.输入100以内被9整除,余数为2的数,计算其平均值的平方根并输出
- a = 0
- t = 0 # 计数器
- for i in range(100):
- if i % 9 == 2: # 计算对9取余,余数为2
- print(i,end=' ')
- a = a + i # 计算和值
- t = t + 1 # 记录个数
- print('\n a=%.2f'%((a/t)**0.5))
- # 2 11 20 29 38 47 56 65 74 83 92
- # a=6.86
27.输出水仙花数,一个三位数,每位立方和等于原值
- for i in range(100,1000):
- if (i%10)**3 + (i//10%10)**3 + (i//100)**3 ==i:
- print('水仙花数:',i)
- # 水仙花数: 153
- # 水仙花数: 370
- # 水仙花数: 371
- # 水仙花数: 407
28.输出1000以内的完数,完数:因子之和等于原值,如:6==1+2+3
- for i in range(6,1000): #遍历0-999
- sum = 0 # 每判断一个i,必须先清零其因子之和
- for j in range(1,i): # 寻找因子
- if i%j == 0:
- sum = sum + j # 计算因子之和
- if sum==i:
- print(i,end=' ')
- # 6 28 496
29.输出100以内的同构数,同构数:一个正整数出现在它的平方书的右侧则为同构数。
如:5==25 6==36 25==625
- for i in range(100):
- # 100以内同构数平方后可能为2位数或者3位数
- if i==i*i%10 or i==i*i%100:
- print(i,end=' ')
- # 0 1 5 6 25 76
30.输出200以内的回文数字
- for i in range(200):
- t = 0 # 倒置后数
- m = i
- while m > 0: #对i进行整数倒置
- t = t*10 + i%10
- m=m//10
- if t == i:
- print(i,end=' ')
- # 0 1 2 3 4 5 6 7 8 9 11 22 33 44 55 66 77 88 99 111
31.求整数a与b的最小公倍数
- # 法1:
- a = int(input('请输入第一个整数:'))
- b = int(input('请输入第二个整数:'))
- i = 1
- while 1: # 循环恒真时执行下列语句
- if i % a == 0 and i % b == 0:
- print('最小公倍数:', i)
- break # 第一次找到公倍数就跳出,保证是最小公倍数
- i = i + 1
- # 请输入第一个整数:12
- # 请输入第二个整数:23
- # 最小公倍数: 276
- # 法2
- a = int(input('请输入第一个整数:'))
- b = int(input('请输入第二个整数:'))
- i = 0
- while 1: # 循环恒真时执行下列语句
- i += a # i默认是a的倍数,
- if i % b == 0:
- print('最小公倍数:', i)
- break # 第一次找到公倍数就跳出,保证是最小公倍数
- # 请输入第一个整数:12
- # 请输入第二个整数:42
- # 最小公倍数: 84
32.求整数x和y的大公约数以及最小公倍数
- x = int(input('请输入第一个整数:'))
- y = int(input('请输入第二个整数:'))
- l = x * y # l是最小公倍数
- while x % y != 0: # 辗转相除法
- t = x % y
- x = y
- y = t
- g = y # g是最大公约数
- l = l // g
- print('最大公约数:', g, '最小公倍数', l)
- # 请输入第一个整数:12
- # 请输入第二个整数:23
- # 最大公约数: 1 最小公倍数 276
33.在键盘输入四位数整数,转换为英文单词输出。如:1024 one zero two four
- a = int(input('请输入一个四位数整数:'))
- t = 1000
- if a >= 1000 and a < 10000:
- while t > 0:
- if a // t % 10 == 0:
- print('zero', end=' ')
- elif a // t % 10 == 1:
- print('one', end=' ')
- elif a // t % 10 == 2:
- print('two', end=' ')
- elif a // t % 10 == 3:
- print('three', end=' ')
- elif a // t % 10 == 4:
- print('four', end=' ')
- elif a // t % 10 == 5:
- print('five', end=' ')
- elif a // t % 10 == 6:
- print('six', end=' ')
- elif a // t % 10 == 7:
- print('seven', end=' ')
- elif a // t % 10 == 8:
- print('eight', end=' ')
- elif a // t % 10 == 9:
- print('nine', end=' ')
- t = t // 10
- else:
- print('您输入的数据有误')
- # 整数由左向右拆分
- # 请输入一个四位数整数:1024
- # one zero two four
34.fibonacci数列,古典数学问题:一对兔子,出生后第三个月都生出一对兔子,小兔子到第三个月又生出一对兔子,兔子不死,问兔子的出生规律:1 1 2 3 5 8 13……
- a1 = 1
- a2 = 1
- for i in range(6):
- print(a1,a2,end=' ')
- a1 = a1 + a2
- a2 = a1 + a2
- # fibonacci:当前项等于前两项之和
- # 1 1 2 3 5 8 13 21 34 55 89 144
35.计算fibonacci数列中大于t的最小值,如:t = 6,输出8
- a1 = 0
- a2 = 1
- a3 = 1
- t = int(input('请输入需要的t的大小:'))
- while a3 <= t:
- a1 = a2
- a2 = a3
- a3 = a1 + a2
- print('大于t的fibonacci最小值为:', a3)
- # 请输入需要的t的大小:4
- # 大于t的fibonacci最小值为: 5
36.有一张足够大的纸,厚度为0.09mm,对折多少次后超过8848m(珠穆朗玛峰高度)
- t = 0
- h = 0.09e-3 # 纸的厚度,单位统一为米
- while 1:
- h = h * 2 # 对折,厚度乘2
- t = t + 1 # 记录对折次数
- if h>8848:
- break
- print('对折了',t,'次')
- # 对折了 27 次
37.爱因斯坦阶梯问题,多级阶梯,每步跨2阶余1阶、跨3阶余2阶、跨5阶余4阶、跨6阶余5阶、跨7阶正好到顶。一共多少阶?
- i = 7
- while 1:
- if i%2==1 and i%3==2 and i%5==4 and i%6==5 :
- break
- i +=7
- print('阶梯总数为:',i) #119
38.百钱买百鸡问题。鸡翁值钱5,鸡母值钱3,鸡雏3值1钱,百钱买白鸡,鸡翁,鸡母,鸡雏各几何?
- for c in range(101):
- for h in range(101):
- for ch in range(101):
- if c + h + ch ==100 and c*5 + h*3 + ch//3 == 100 and ch%3 ==0:
- print('公鸡=',c,'只','母鸡=',h,'只','小鸡=',ch,'只')
- # 公鸡= 0 只 母鸡= 25 只 小鸡= 75 只
- # 公鸡= 4 只 母鸡= 18 只 小鸡= 78 只
- # 公鸡= 8 只 母鸡= 11 只 小鸡= 81 只
- # 公鸡= 12 只 母鸡= 4 只 小鸡= 84 只
39.搬砖问题:36个人36块砖,男4女3,小孩2人1块,一次性搬完,需要各多少人?
- for m in range(10):
- for w in range(14):
- for c in range(37):
- if m + w + c == 36 and m * 4 + w * 3 + c // 2 == 36 and c % 2 == 0:
- print('男=', m, '人', '女=', w, '人', '小孩=', c, '人')
- # 男= 3 人 女= 3 人 小孩= 30 人
40.猴子偷桃:一天吃一半还多吃一个,第七天吃完,偷桃总数?
- n = 0
- for i in range(7):
- n = (n + 1) * 2
- print('桃子总数:', n)
- # 桃子总数: 254
41.打印图形

- h = int(input('请输入图形高度:'))
- for i in range(h):
- for j in range(0, h - i - 1):
- print(' ', end='')
- for k in range(0, 2 * i + 1):
- print('*', end='')
- print()
- # 请输入图形高度:6
- # *
- # ***
- # *****
- # *******
- # *********
- # ***********
42.打印图形

- h = int(input('请输入图形高度:'))
- for i in range(h):
- for j in range(i):
- print(' ', end='')
- for k in range( 2 *(h-i)-1 ,0, -1):
- print('*', end='')
- print()
- # 请输入图形高度:7
- # *************
- # ***********
- # *********
- # *******
- # *****
- # ***
- # *
43.打印图形

- h = int(input('请输入图形高度:'))
- for i in range(h):
- for j in range(h-i):
- print(' ',end='')
- for k in range(i+1):
- print('*',end='')
- print()
- # 请输入图形高度:7
- # *
- # **
- # ***
- # ****
- # *****
- # ******
- # *******