python常见基础编程题目

1、输出1-100之间所有能被7整除但是不能被5整除的数

 for a in range(1,101): #循环除1到100之间的所有数
  if a%7==0 and a%5!=0: #进行判断
    print(a)

2、输出“水仙花数”。所谓水仙花数是指1个3位的十进制数,其各位数字的立方和等于该数本身。
例如:153是水仙花数,因为153 = 13 + 53 + 33

 for i in range(100, 1000):
        x = math.floor(i / 100)  # 获得百位数
        y = math.floor((i - x * 100) / 10)  # 获得十位数
        z = i - math.floor(i / 10) * 10  # 获得个位数
        if i == x ** 3 + y ** 3 + z ** 3:
            print(i, end=', ')

    第二种写法(注意python语言中字符串的巧妙使用):
for i in range(100,1000):
    a=str(i)
    b=int(a[0])
    c=int(a[1])
    d=int(a[2])
    if i==pow(b,3)+pow(c,3)+pow(d,3):
        print(i)

3、不断地输入数字,输入b退出,然后打印出以下内容总和是多少  有多少个  平均是多少
sum=0
count=0
while True:
    a=input("请输入一个数字:")
    if a=="b":
        break  #结束循环
    else:
        count+=1
        sum+=int(a)
print(sum)
print(count)
print(sum/count)



4、求200以内能被17整除的最大正整数。
for i in range(200,17,-1):
  if i%17==0:
   print(i)
    break


5、鸡兔同笼问题。假设共有鸡、兔30只,脚90只,求鸡、兔各有多少只。
 for c in range(0,31):
     if 2*c+(30-c)*4 == 90:
       print("鸡有:",c,"只")
       print("兔有:",30-int(c),"只")


6、编写程序,输出由1、2、3、4这四个数字组成的每位数都不相同的所有三位数。
 for a in range(1,5):
     for b in range(1,5):
        for c in range(1,5):
                if a!=b and a!=c and b!=c :
                    print("%d%d%d" %(a,b,c)," ",end="")


7、编写程序,生成一个含有20个随机数的列表,要求所有元素不相同,并且每个元素的值介于1到100之间。
 a = random.sample(range(1,101),20) #random.sample()生成不相同的随机数
 print(a)

8、编写程序,计算百钱买百鸡问题。假设公鸡5元一只,母鸡3元一只,小鸡1元三只,现在有100块钱,想买100只鸡,问有多少种买法?
for a in range(0,101):
    for b in range(0,101):
        for c in range(0,101):
            if a*5+b*3+c/3==100 and a+b+c==100:
                print(a,b,c)

9、统计int a = 847574中位值为”1”的个数(Integer)
 如果a = 7, 那么位值为1的个数为3
 如果a = 9, 那么位值为1的个数为2
 a=847574
 count=0
 while a!=0:
     if a%2==1:
         count+=1
    else:
        pass
    a=a//2

 第二种写法,直接调用bin函数
print(bin(847574).count("1"))




10、在屏幕上打印1-30数,每7个数换行
 for i in range(1,31):
     if i%7==1:
        print()
     print( i,end="")

11、打印1000以内的所有素数(质数,只能被1和自身整除的数)
 i = 2
 while(i < 1000):
    j = 2
    while(j <= (i/j)):
       if not(i%j):
          break
      j = j + 1
   if (j > i/j) :
       print (i," ",end="")
    i = i + 1

12、打印10以内所有的偶数
 for i in range(0,10):
     if i%2==0:
         print(i)

13、九九乘法口诀表
 for i in range(1,10):
     for j in range(1,i+1):
          print( "%d*%d=%d\t"%(j,i,j*i),end="")
     print()


14从控制台输出,方法定义如右下图:
 123456
 234561
 345612
 456123
 561234
 612345
 for i in range(1,7):
     for j in range(i,7):
         print(j,end="")
     for h in range(1,i-1+1):
         print(h,end="")
    print()






  • 28
    点赞
  • 217
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小番茄 bhl

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值