Python

Python经典基础编程练习题(一)——每日10题

在这里插入图片描述

1.这里有四个数字,分别是:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?请列举出来,并用空格分隔。
解题思路:筛选出三位中数字相同的情况,并忽略他们。

  1. list1=[]
  2. count=0
  3. for a in range(1,5):
  4.  for b in range (1,5):
    
  5.      for c in range(1,5):
    
  6.          if a!=b and b!=c and a!=c:
    
  7.              d=100*a+10*b+c
    
  8.              count+=1
    
  9.              list1.append(d)
    
  10. print(‘一共有%d个三位数’ % count)
  11. for i in list1:
  12. print(i,end=' ')
    

2.企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,低于20万元的部分按7.5%提成,高于20万元的部分,可提成5%;40万到60万之间时,低于40万元的部分按5%提成,高于40万元的部分,可提成3%;60万到100万之间时,低于60万元的部分按3%提成,高于60万元的部分,可提成1.5%,高于100万元时,低于100万元的部分按1.5%提成,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?
解题思路:用if语句判断各个条件区间。

  1. lirun=int(input(‘请输入你的利润:’))
  2. if lirun <= 100000:
  3.  p=lirun*0.1
    
  4. if lirun >100000 and lirun <=200000:
  5.  p=10000*0.1+(lirun - 100000)*0.075
    
  6. if lirun >200000 and lirun <=400000:
  7.  p=200000*0.075+(lirun - 200000)*0.05
    
  8. if lirun >400000 and lirun <=600000:
  9.  p=400000*0.05+(lirun - 400000)*0.03
    
  10. if lirun >600000 and lirun <=1000000:
  11. p=600000*0.03+(lirun - 600000)*0.015
    
  12. if lirun >1000000:
  13. p=1000000*0.015+(lirun-1000000)*0.01
    
  14. print§
    3.一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问在该数小于1000000的情况下,该数是多少?
    解题思路:如果某数是完全平方数,那么该数开方为一个整数。
  15. import math
  16. for i in range(1,1000000):
  17.  if math.sqrt(i+100)==int(math.sqrt(i+100)) and math.sqrt(i+268)==int(math.sqrt(i+268)):
    
  18.      print(i)
    

4.编写一个程序,找到所有可以被7整除但不是5的倍数的数字,2000至3200之间(均包括在内)。获得的数字应以逗号分隔的顺序打印在一行上。
解题思路:用if语句作为判断,注意输出格式。

  1. list1=[]
  2. for i in range(2000,3201):
  3.  if i%7==0 and i%5!=0:
    
  4.      list1.append(i)
    
  5. for i in list1:
  6.  print(i, end=',')#或者用print(','.join(l))  ,用于把字符串用S符号连接起来
    

5.编写一个程序,可以计算给定数字的阶乘。假设为程序提供了以下输入:8,输出应该是:40320
解题思路:可定义函数并用递归,或者用for循环。

  1. a=int(input(‘请输入一个数:’))
  2. b=1
  3. for i in range(1,a+1):
  4.  b=b*i
    
  5. print(b)
    6.使用给定的整数n,编写程序以生成包含(i:i * i)的字典这是1和n之间的整数(包括两者)。 然后是程序应该打印字典。假设为程序提供了以下输入:8,输出结果:{1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64}
    解题思路:定义一个字典,用for循环。
  6. n=int(input(‘请输入一个数:’))
  7. d=dict()
  8. for i in range(1,n+1):
  9.  d[i]=i*i
    
  10. print(d)
    7.输入一串数字,以逗号为分隔符,将其转换成列表和元组输入:34,67,55,33,12,98 输出: [‘34’, ‘67’, ‘55’, ‘33’, ‘12’, ‘98’] (‘34’, ‘67’, ‘55’, ‘33’, ‘12’, ‘98’)
    解题思路:注意字符串分隔方法。
  11. value=input(‘请输入一串数字:’)
  12. a=value.split(’,’)
  13. print(a)
  14. b=tuple(a)
  15. print(b)
    8.定义一个至少包含两种方法的类:getString:从控制台输入中获取字符串printString:以大写形式打印字符串。
    解题思路:注意定义类的格式。
  16. class A():
  17.  def getString(self):
    
  18.      self.x =input('请输入一个字符串:')
    
  19.  def printString(self):
    
  20.      print(self.x.upper())
    
  21. a=A()
  22. a.getString()
  23. a.printString()
    9.编写一个程序,根据给定的公式计算并打印该值:Q = [(2 * C * D)/ H]的平方根以下是C和H的固定值:C是50.H是30。D是变量,其值应以逗号分隔的顺序输入到程序中。输入:100,150,180,输出:18,22,24
    解题思路:导入math函数,注意输入输出格式。
  24. import math
  25. c=50
  26. h=30
  27. d=input(‘请输入:’)
  28. list1=d.split(’,’)
  29. m=list1[-1]
  30. for i in list1:
  31.  i=int(i)
    
  32.  q=int(math.sqrt((2*c*i)/h))
    
  33. if i !=int(m):
    
  34.     print(q,end=',')
    
  35. else:
    
  36.     print(q,end='')
    

10.编写一个程序,X,Y作为输入,并生成一个X行,N列的二维数组。数组的第i行和第j列中的元素值应为i * j。
解题思路:注意二维数组的定义方式。

  1. input_str = input()
  2. dimensions = [int(x) for x in input_str.split(’,’)]
  3. rowNum = dimensions[0]
  4. colNum = dimensions[1]
  5. multilist = [[0 for col in range(colNum)] for row in range(rowNum)]#定义一个空的二维数组
  6. for row in range(rowNum):
  7.  for col in range(colNum):
    
  8.      multilist[row][col] = row * col
    
  9. print(multilist)

在这里插入图片描述
用到看到的点个赞呗!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值