部门培训之练习今天全部干翻篇

这是小编第二次写博客,第一次的博客感谢各路大佬抬爱,临文涕零,不知所言,所以今天就不废话了。

一,判断两个字符串是否为换位符
要求:字符长度相等,字符内元素相同且个数相同
解决方法:1、先将字符串装换成列表,str→list
2、计算长度,比较个数
3、给列表排序,它不按顺序就给它捋一捋
4.最后比较两者是否相等即可

代码如下

str1 = input("请输入第一个字符串:")
str2 = input("请输入第二个字符串:") 
a = len(str1)
b = len(str2)
m = list(str1)
n = list(str2)
m.sort()
n.sort()
if a == b:
    if m == n:
        print("{}和{}为换位符".format(str1,str2))
    else :
        print("{}和{}不为换位符".format(str1,str2))
else:
    print("{}和{}不为换位符".format(str1,str2))

    

在这里插入图片描述
二,判断一数组是否为山脉数组
所谓山脉,总得有峰顶,就此来理解这山脉数组,它要有一个数比旁边的都要高,要大,往左一个比一个矮,往右也是,且只能有一个这样的数。这也称波峰型数字,类似的波谷型就不用我写了吧,毕竟读者们都这么聪明,举一反三,信手拈来。

num=input('请输入数字群:')#创建数组
num=list(int(i) for i in num)
print("你输入的数组为",num)
len=len(num)#得取元素个数
A = num
s = True#开始为真
if len<3:
    s = False
for o in range(len-1):
    if A[o]>=A[o+1] and o==0:#一开始就往山下跑,怎么能走向峰顶呢
        s = False
    elif A[o]>A[o+1]:#是不是峰顶,有待退出后执行下一步操作
        break  
for p in range(o,len-1):#从疑似山顶的数开始比较,若后续还有想成为峰顶的就打死去
    if A[p]<=A[p+1]:
        s = False
if s:#经过考验修成正果,可为山
    print("该数组是山脉数组")
else:
    print("该数组不是山脉数组")

在这里插入图片描述
三、找到1到1000的所有素数
接下来有大佬出没,我就不瞎搅和了

print(' '.join([str(item) for item in filter(lambda x: not [x % i for i in range(2, x) if x % i == 0], range(2, 1001))]))
print(' '.join([str(item) for item in filter(lambda x: all(map(lambda p: x % p != 0, range(2, x))), range(2, 1001))]))

上面两个都是大佬写的代码,希望小编有生之年能够达到这个高度
在这里插入图片描述
今天懒鬼本鬼,就不上网找解决方法了,看了部门两位优秀朋友的文章,深受启发,在此鸣谢二位。
也差不多了今天就水到这 了。在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值