• python(06)例题重写


    1.输入一个十进制数,输出二进制、八进制、十六进制

    1. a = int(input('请输入一个十进制整数:'))
    2. print(a,'转化的二进制为',bin(a))
    3. print(a,'转化的八进制为',oct(a))
    4. print(a,'转化的十六进制为',hex(a))
    5. # 请输入一个十进制整数:12
    6. # 12 转化的二进制为 0b1100
    7. # 12 转化的八进制为 0o14
    8. # 12 转化的十六进制为 0xc

    2.输入华氏温度,输出摄氏温度,公式为:C=5/9*(F-32)

    1. f=int(input('请输入华氏温度:'))
    2. c=5/9*(f-32)
    3. print('摄氏温度为%.2f'%c)
    4. # 请输入华氏温度:75
    5. # 摄氏温度为23.89

    3.键盘输入两个整数a和b,合并成一个新四位数,例如:a=54,b=12,c=5142

    1. a=int(input('请输入一个两位数整数:'))
    2. b=int(input('请输入一个两位数整数:'))
    3. if a>=100 and b>=100:
    4. print('输入数据有误,请重新输入!')
    5. elif a<=10 and b<=10:
    6. print('输入数据有误,请重新输入!')
    7. else:
    8. c=a//10*1000+b//10*100+a%10*10+b%10
    9. print('合成的新四位数为:',c)
    10. # 请输入一个两位数整数:54
    11. # 请输入一个两位数整数:12
    12. # 合成的新四位数为: 5142

    4.发工资遇到一个问题,根据每个人工资总额计算钞票面值的张数,且总张数最少。如:15896

    1. a=int(input('请输入你的工资总额:'))
    2. print('100元的张数为:',a//100)
    3. print('50元的张数为:',a%100//50)
    4. print('20元的张数为:',a%100%50//20)
    5. print('10元的张数为:',a%100%50%20//10)
    6. print('5元的张数为:',a%100%50%20%10//5)
    7. print('1元的张数为:',a%100%50%20%10%5)
    8. # 请输入你的工资总额:15896
    9. # 100元的张数为: 158
    10. # 50元的张数为: 1
    11. # 20元的张数为: 2
    12. # 10元的张数为: 0
    13. # 5元的张数为: 1
    14. # 1元的张数为: 1

    5.输入三角形边长,输出面积:

    其中s=(a+b+c)/2

    1. import math
    2. a = int(input('请输入边长:'))
    3. b = int(input('请输入边长:'))
    4. c = int(input('请输入边长:'))
    5. s = (a+b+c)/2
    6. area = math.sqrt(s*(s-a)*(s-b)*(s-c))
    7. print('面积为:',area)
    8. # 请输入边长:3
    9. # 请输入边长:4
    10. # 请输入边长:5
    11. # 面积为: 6.0

    6.输入两个数,输出最大值

    1. a=int(input('请输入第一个值:'))
    2. b=int(input('请输入第二个值:'))
    3. max=a
    4. if a
    5. max=b
    6. print('最大值为:',max)
    7. # 请输入第一个值:12
    8. # 请输入第二个值:23
    9. # 最大值为: 23

    7.输入一个整数,判断奇偶数

    1. a = int(input('请输入一个整数:'))
    2. if a%2==0:
    3. print('该数是偶数')
    4. else:
    5. print('该数是奇数')
    6. # 请输入一个整数:12
    7. # 该数是偶数

    8.判断一个数能被7或11整除,但不能同时被7或11整除

    1. a = int(input('请输入一个整数:'))
    2. if (a%7==0 or a%11==0) and a%77!=0:
    3. print('yes')
    4. else:
    5. print('no')
    6. # 请输入一个整数:7
    7. # yes

    9.判断闰年:可被4整除,不能被100整除,可被400整除

    1. y = int(input('请输入一个四位数年份:'))
    2. if y%4==0 and y%100!=0 or y%400==0:
    3. print('该年是闰年')
    4. else:
    5. print('该年是平年')
    6. # 请输入一个四位数年份:2020
    7. # 该年是闰年

    10. 输入三个整数,降序输出:

    1. a = int(input('请输入第一个整数:'))
    2. b = int(input('请输入第二个整数:'))
    3. c = int(input('请输入第三个整数:'))
    4. if a>b>c:
    5. print(a,b,c)
    6. elif a>c>b:
    7. print(a,c,b)
    8. elif b>c>a:
    9. print(b,c,a)
    10. elif b>a>c:
    11. print(b,a,c)
    12. elif c>a>b:
    13. print(c,a,b)
    14. else:
    15. print(c,b,a)
    16. # 请输入第一个整数:3
    17. # 请输入第二个整数:4
    18. # 请输入第三个整数:2
    19. # 4 3 2

    11.输入一个百分制成绩,输出等级

    1. a = int(input('请输入一个百分制成绩:'))
    2. if a <= 0 or a > 100:
    3. print('输入数据有误,请重新输入!')
    4. elif 100 >= a >= 90:
    5. print('优秀')
    6. elif 80 <= a < 90:
    7. print('良好')
    8. elif a >= 60:
    9. print('及格')
    10. else:
    11. print('不及格')
    12. # 请输入一个百分制成绩:79
    13. # 及格

    12.计算下列多项式的值:

    1. sum=1
    2. for i in range(2,101):
    3. sum = sum + 1 / i
    4. print('%.6f'%sum)
    5. # 5.187378

    13.计算下列多项式的值

    1. sum = 1
    2. f = -1
    3. for i in range(2,101):
    4. sum= sum+1/i*f
    5. f = -f
    6. print('%.6f'%sum)
    7. # 0.688172

    14.计算下列多项式的值

    1. sum = 1
    2. num = 1
    3. for i in range(2,101):
    4. num = num +i
    5. sum = sum + 1/num
    6. print('%.6f'%sum)
    7. # 1.980198

    15.计算下列多项式的和

    1. z = 3
    2. m = 2
    3. t = 0
    4. sum = 0
    5. for i in range(20):
    6. t = z
    7. z = m+z
    8. m = t
    9. sum = sum + z/m
    10. print('%.6f'%sum)
    11. # 32.396329

    16.计算π的近似值公式

    1. pi = 1
    2. f = -1
    3. i = 3
    4. while 1/i>1e-6:
    5. pi = pi +1/i*f
    6. f = -f
    7. i = i+2
    8. print('pi=%.6f'%(pi*4))
    9. # pi=3.141591

    17.用泰勒级数计算e的近似值

    1. sum = 1
    2. t = 1
    3. i = 1
    4. while 1/t>1e-6:
    5. t = t*i
    6. sum = sum + 1/t
    7. i += 1
    8. print('sum=%.6f'%sum)
    9. # sum=2.718282

    18.计算a+aa+aa+aaa…aaa的值,计算前六项和,a=2

    1. a = 2
    2. sum = 0
    3. for i in range(6):
    4. sum = sum + a
    5. a = a*10 + 2
    6. print('sum = ',sum)
    7. # sum = 246912

    19.计算r=1到r=10时的圆的面积,直到面积大于100为止

    1. import math as a
    2. for r in range(1,11):
    3. area = a.pi*r*r
    4. if area>100:
    5. break
    6. print('r:',r,'area: is:%.6f'%area)
    7. # r: 6 area: is:113.097336

    20.将100-150之间的不能被3整除的数输出,一行输出10个数

    1. i = 0
    2. for n in range(100,151):
    3. if n%3 == 0:
    4. continue
    5. print(n,end=' ')
    6. i+= 1
    7. if i%10 == 0:
    8. print()
    9. # 100 101 103 104 106 107 109 110 112 113
    10. # 115 116 118 119 121 122 124 125 127 128
    11. # 130 131 133 134 136 137 139 140 142 143
    12. # 145 146 148 149

    21.找出2,3,5的最小公倍数

    1. for i in range(1, 100):
    2. if i % 2 == 0 and i % 3 == 0 and i % 5 == 0:
    3. print('%d是2,3,5的最小公倍数' % i)
    4. break
    5. else:
    6. print('未找到!')
    7. # 30是2,3,5的最小公倍数

    22.输入整数,判断是否为素数:

    1. # 法1
    2. p = int(input('请输入一个正整数:'))
    3. if p<2: # 保证输入数据大于2
    4. print('请输入大于2的正整数!')
    5. else:
    6. for i in range(2,p):
    7. if p%i == 0:
    8. print('平数')
    9. break
    10. else: # 循环顺利结束后执行
    11. print('素数')
    12. # 请输入一个正整数:12
    13. # 平数
    14. # 法2
    15. p = int(input('请输入一个正整数:'))
    16. i = 2
    17. if p<2: # 保证输入数据大于2
    18. print('请输入大于2的正整数!')
    19. else:
    20. while p%i !=0: # 检测结果是否为非0
    21. i = i+1
    22. if i == p:
    23. print('素数')
    24. else:
    25. print('平数')
    26. # 请输入一个正整数:11
    27. # 素数

    23.输出100以内的素数

    1. for i in range(2,100): #遍历2-99
    2. for j in range(2,i):
    3. if i%j == 0:
    4. break
    5. else:
    6. print(i,end=' ') # 输出素数
    7. # 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的非素数

    1. t = 0
    2. for m in range(200, 400):
    3. for n in range(2, m):
    4. if m % n == 0:
    5. print(m, end=' ')
    6. t = t+1
    7. if t%10==0:
    8. print()
    9. break

    25.输出大于s且紧随s的k个素数

    1. s = int(input('请输入起始值:'))
    2. k = int(input('请输入需要的素数个数:'))
    3. i = s + 1
    4. t = 0 # 计数器,记录找到的素数个数
    5. while t < k: # 当自己找到的素数个数t小于指定个数k的时候,继续寻找
    6. for j in range(2, i): # 判断i是否为素数
    7. if i % j == 0:
    8. break
    9. else:
    10. t = t + 1 # 记录找到的素数个数
    11. print(i, end=' ') # 输出素数
    12. i = i + 1 # 继续下一个数的寻找
    13. # 请输入起始值:12
    14. # 请输入需要的素数个数:3
    15. # 13 17 19

    26.输入100以内被9整除,余数为2的数,计算其平均值的平方根并输出

    1. a = 0
    2. t = 0 # 计数器
    3. for i in range(100):
    4. if i % 9 == 2: # 计算对9取余,余数为2
    5. print(i,end=' ')
    6. a = a + i # 计算和值
    7. t = t + 1 # 记录个数
    8. print('\n a=%.2f'%((a/t)**0.5))
    9. # 2 11 20 29 38 47 56 65 74 83 92
    10. # a=6.86

    27.输出水仙花数,一个三位数,每位立方和等于原值

    1. for i in range(100,1000):
    2. if (i%10)**3 + (i//10%10)**3 + (i//100)**3 ==i:
    3. print('水仙花数:',i)
    4. # 水仙花数: 153
    5. # 水仙花数: 370
    6. # 水仙花数: 371
    7. # 水仙花数: 407

    28.输出1000以内的完数,完数:因子之和等于原值,如:6==1+2+3

    1. for i in range(6,1000): #遍历0-999
    2. sum = 0 # 每判断一个i,必须先清零其因子之和
    3. for j in range(1,i): # 寻找因子
    4. if i%j == 0:
    5. sum = sum + j # 计算因子之和
    6. if sum==i:
    7. print(i,end=' ')
    8. # 6 28 496

    29.输出100以内的同构数,同构数:一个正整数出现在它的平方书的右侧则为同构数。
    如:5==25  6==36  25==625

    1. for i in range(100):
    2. # 100以内同构数平方后可能为2位数或者3位数
    3. if i==i*i%10 or i==i*i%100:
    4. print(i,end=' ')
    5. # 0 1 5 6 25 76

    30.输出200以内的回文数字

    1. for i in range(200):
    2. t = 0 # 倒置后数
    3. m = i
    4. while m > 0: #对i进行整数倒置
    5. t = t*10 + i%10
    6. m=m//10
    7. if t == i:
    8. print(i,end=' ')
    9. # 0 1 2 3 4 5 6 7 8 9 11 22 33 44 55 66 77 88 99 111

    31.求整数a与b的最小公倍数

    1. # 法1:
    2. a = int(input('请输入第一个整数:'))
    3. b = int(input('请输入第二个整数:'))
    4. i = 1
    5. while 1: # 循环恒真时执行下列语句
    6. if i % a == 0 and i % b == 0:
    7. print('最小公倍数:', i)
    8. break # 第一次找到公倍数就跳出,保证是最小公倍数
    9. i = i + 1
    10. # 请输入第一个整数:12
    11. # 请输入第二个整数:23
    12. # 最小公倍数: 276
    13. # 法2
    14. a = int(input('请输入第一个整数:'))
    15. b = int(input('请输入第二个整数:'))
    16. i = 0
    17. while 1: # 循环恒真时执行下列语句
    18. i += a # i默认是a的倍数,
    19. if i % b == 0:
    20. print('最小公倍数:', i)
    21. break # 第一次找到公倍数就跳出,保证是最小公倍数
    22. # 请输入第一个整数:12
    23. # 请输入第二个整数:42
    24. # 最小公倍数: 84

    32.求整数x和y的大公约数以及最小公倍数

    1. x = int(input('请输入第一个整数:'))
    2. y = int(input('请输入第二个整数:'))
    3. l = x * y # l是最小公倍数
    4. while x % y != 0: # 辗转相除法
    5. t = x % y
    6. x = y
    7. y = t
    8. g = y # g是最大公约数
    9. l = l // g
    10. print('最大公约数:', g, '最小公倍数', l)
    11. # 请输入第一个整数:12
    12. # 请输入第二个整数:23
    13. # 最大公约数: 1 最小公倍数 276

    33.在键盘输入四位数整数,转换为英文单词输出。如:1024  one zero two four

    1. a = int(input('请输入一个四位数整数:'))
    2. t = 1000
    3. if a >= 1000 and a < 10000:
    4. while t > 0:
    5. if a // t % 10 == 0:
    6. print('zero', end=' ')
    7. elif a // t % 10 == 1:
    8. print('one', end=' ')
    9. elif a // t % 10 == 2:
    10. print('two', end=' ')
    11. elif a // t % 10 == 3:
    12. print('three', end=' ')
    13. elif a // t % 10 == 4:
    14. print('four', end=' ')
    15. elif a // t % 10 == 5:
    16. print('five', end=' ')
    17. elif a // t % 10 == 6:
    18. print('six', end=' ')
    19. elif a // t % 10 == 7:
    20. print('seven', end=' ')
    21. elif a // t % 10 == 8:
    22. print('eight', end=' ')
    23. elif a // t % 10 == 9:
    24. print('nine', end=' ')
    25. t = t // 10
    26. else:
    27. print('您输入的数据有误')
    28. # 整数由左向右拆分
    29. # 请输入一个四位数整数:1024
    30. # one zero two four

    34.fibonacci数列,古典数学问题:一对兔子,出生后第三个月都生出一对兔子,小兔子到第三个月又生出一对兔子,兔子不死,问兔子的出生规律:1 1 2 3 5 8 13……

    1. a1 = 1
    2. a2 = 1
    3. for i in range(6):
    4. print(a1,a2,end=' ')
    5. a1 = a1 + a2
    6. a2 = a1 + a2
    7. # fibonacci:当前项等于前两项之和
    8. # 1 1 2 3 5 8 13 21 34 55 89 144

    35.计算fibonacci数列中大于t的最小值,如:t = 6,输出8

    1. a1 = 0
    2. a2 = 1
    3. a3 = 1
    4. t = int(input('请输入需要的t的大小:'))
    5. while a3 <= t:
    6. a1 = a2
    7. a2 = a3
    8. a3 = a1 + a2
    9. print('大于t的fibonacci最小值为:', a3)
    10. # 请输入需要的t的大小:4
    11. # 大于t的fibonacci最小值为: 5

    36.有一张足够大的纸,厚度为0.09mm,对折多少次后超过8848m(珠穆朗玛峰高度)

    1. t = 0
    2. h = 0.09e-3 # 纸的厚度,单位统一为米
    3. while 1:
    4. h = h * 2 # 对折,厚度乘2
    5. t = t + 1 # 记录对折次数
    6. if h>8848:
    7. break
    8. print('对折了',t,'次')
    9. # 对折了 27 次

    37.爱因斯坦阶梯问题,多级阶梯,每步跨2阶余1阶、跨3阶余2阶、跨5阶余4阶、跨6阶余5阶、跨7阶正好到顶。一共多少阶?

    1. i = 7
    2. while 1:
    3. if i%2==1 and i%3==2 and i%5==4 and i%6==5 :
    4. break
    5. i +=7
    6. print('阶梯总数为:',i) #119

    38.百钱买百鸡问题。鸡翁值钱5,鸡母值钱3,鸡雏3值1钱,百钱买白鸡,鸡翁,鸡母,鸡雏各几何?

    1. for c in range(101):
    2. for h in range(101):
    3. for ch in range(101):
    4. if c + h + ch ==100 and c*5 + h*3 + ch//3 == 100 and ch%3 ==0:
    5. print('公鸡=',c,'只','母鸡=',h,'只','小鸡=',ch,'只')
    6. # 公鸡= 0 只 母鸡= 25 只 小鸡= 75 只
    7. # 公鸡= 4 只 母鸡= 18 只 小鸡= 78 只
    8. # 公鸡= 8 只 母鸡= 11 只 小鸡= 81 只
    9. # 公鸡= 12 只 母鸡= 4 只 小鸡= 84 只

    39.搬砖问题:36个人36块砖,男4女3,小孩2人1块,一次性搬完,需要各多少人?

    1. for m in range(10):
    2. for w in range(14):
    3. for c in range(37):
    4. if m + w + c == 36 and m * 4 + w * 3 + c // 2 == 36 and c % 2 == 0:
    5. print('男=', m, '人', '女=', w, '人', '小孩=', c, '人')
    6. # 男= 3 人 女= 3 人 小孩= 30 人

    40.猴子偷桃:一天吃一半还多吃一个,第七天吃完,偷桃总数?

    1. n = 0
    2. for i in range(7):
    3. n = (n + 1) * 2
    4. print('桃子总数:', n)
    5. # 桃子总数: 254

    41.打印图形

    1. h = int(input('请输入图形高度:'))
    2. for i in range(h):
    3. for j in range(0, h - i - 1):
    4. print(' ', end='')
    5. for k in range(0, 2 * i + 1):
    6. print('*', end='')
    7. print()
    8. # 请输入图形高度:6
    9. # *
    10. # ***
    11. # *****
    12. # *******
    13. # *********
    14. # ***********

    42.打印图形

    1. h = int(input('请输入图形高度:'))
    2. for i in range(h):
    3. for j in range(i):
    4. print(' ', end='')
    5. for k in range( 2 *(h-i)-1 ,0, -1):
    6. print('*', end='')
    7. print()
    8. # 请输入图形高度:7
    9. # *************
    10. # ***********
    11. # *********
    12. # *******
    13. # *****
    14. # ***
    15. # *

    43.打印图形

    1. h = int(input('请输入图形高度:'))
    2. for i in range(h):
    3. for j in range(h-i):
    4. print(' ',end='')
    5. for k in range(i+1):
    6. print('*',end='')
    7. print()
    8. # 请输入图形高度:7
    9. # *
    10. # **
    11. # ***
    12. # ****
    13. # *****
    14. # ******
    15. # *******
  • 相关阅读:
    Kotlin小节(二)
    进程和线程
    C++ Qt开发:QUdpSocket网络通信组件
    数据库管理员道德规范
    机器学习基本概念
    Linux操作系统编程基础
    数据库-当前读与快照读
    户外运动耳机推荐、十大户外运动耳机品牌推荐排名清单
    方法练习(二)
    win10专业版驱动开发
  • 原文地址:https://blog.csdn.net/weixin_62443409/article/details/127422239