Python刷题第二天

第一题:公约数个数

从这题开始,就要采用一些稍微高一点点的技术,比如运用函数 def

 

a,b = 24,36
def gcd(a,b):
    count = 0
    for i in range(1,min(a,b)+1):#公约数必须从1开始,到a本身结束,所以+1
        if a % i == 0 and b % i == 0:
            count = count+1#公约数加一
    return count
print(gcd(a,b))

第二题:单身情歌(可跳过)

不难看出,这是一道子串问题,在C语言里要一个一个字符去匹配,工程量比较大,在python里直接用in就可以了,非常的人性化

a = "OurWorldIsFullOfLOVE"
b = a.lower()
if "love" in str(b):#python在这一点上是十分只能了,换成C语言的话,这问题就成了求子串的问题,难
#度多多了
    print("LOVE")
else:
    print("SINGLE")

补充一下:lambda的用法(可跳过)

lambda a : a*n #lambda可接受任意数量的参数,但只能有一个表达式。有一点像java抽象类里函数的实现?

第三题:信息加密

名字一听就感觉和ASCII码有关,果然

#a = "asda"
#b = 3测试数据
a1=''
def convert(a,b):
    if (ord(a)+b)<=122:#z的ASCII码到122为止,ord是把字符变成码()数值,chr是把码(数值)变成字符
        return chr(ord(a)+b)
    else:
        return chr((ord(a)+b)%122+96)#%122,让他变到范围以内在加上96从a开始
for x in a:
    a1 += convert(x,b)#python可以用+=来连接字符串
print (a1)

 今天先记录三题,分别代表了函数,子串,ASCII码,以后复习这三个知识点就可以看这里了

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Abandon-Lv

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

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

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

打赏作者

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

抵扣说明:

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

余额充值