Python基础练习题

1、有 1、2、3、4 四个数字,能组成多少个互不相同且无重复数字的三位数?

解题思路:从四个数中选择三个数进行排列,定义三层循环,每层循环依次代表数字的百位、十位、个位。组成的数不允许出现重复的数字,就判断百、十、个的数字是否出现相等的情况,出现,则跳过这个组合。具体代码如下:

number=[1,2,3,4] #定义数组,存放4个数字
count=0 #用于组合计数
N=[] #将数字的组合存放到N中
#定义三重循环,遍历所有组合情况
for i in number:
    for j in number:
        if i==j: #如果百位和十位数字重复,则跳过这种组合方式
            continue
        for k in number:
            if i==k or j==k: #如果个位和十位或百位有相同情况出现,则跳过
                continue
            else:
                count = count + 1 #组合个加1
                N.append(i*100+j*10+k) #将组合添加到N列表中
                
print("能组成:",count,"个数字,分别是:")
#遍历列表,打印所有组合
for i in range(len(N)):
    print(N[i],end=" ")

2、输入三个整数,将这三个数从小到大输出

解题思路:这个题较为简单,可以使用嵌套if else结构进行排序,但过程稍显复杂,最简单的方法是使用冒泡排序即可。代码如下:

a=int(input("请输入第一个整数:"))
b=int(input("请输入第二个整数:"))
c=int(input("请输入第三个整数:"))
print("你输入的三个数为:",a,b,c)
num=[a,b,c] #将三个数存放到列表中,方便使用冒泡排序
for i in range(len(num)):
    for j in range(i,len(num)):
        if num[i]>num[j]:
            temp=num[i]
            num[i]=num[j]
            num[j]=temp
print("从小到大排序后的顺序为:",num)

3、判断 101-200 之间有多少个素数,并输出所有素数。

解题思路:素数,即质数,指只有1和数字本身能被自身整除的数,例如2、3、5、7…。这题解题的重点在于如何判断一个数是不是质数。根据质数的定义,只需要将数n范围内的所有数与n进行取余,如果所有的余数都不为0,则表示这个数是一个质数。(余数不为0表示除不尽)但其实不需要重复这么多次取余,只需要确保2–n/2之间都没有能够除尽的数即可(数学知识)。
代码如下:

count = 0 #统计个数
num=[] #将所有素数存放到列表中
#遍历101-200之间所有的数字
for i in range(101,201):
    t=True
    for j in range(2,int(i/2)+1):
        #一旦出现余数为0的情况,则说明这个数不是素数,直接结束循环
        if i%j==0:
            t=False
            break
        else:
            pass
    if t==True:
        count = count +1
        num.append(i)
print("101—200之间总的素数有:",count,"个")
print("分别是:",num)
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

toMontain

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

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

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

打赏作者

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

抵扣说明:

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

余额充值