拉手网Python程序员面试题

本文解析了一道拉手网Python程序员面试题,通过对比两种解决方案,一种使用多个函数和复杂的逻辑,另一种则更为简洁明了。文章还提供了一个清晰易懂的实现示例,帮助读者理解如何用Python优雅地完成任务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

拉手网Python程序员面试题
拉手网Python程序员面试题,有用人用10行代码解决,有人用了一行代码解决是多么牛的赶脚。有种被秒杀的赶脚,题目在此https://www.jinshuju.net/f/EGQL3D

dic={}
def num(aa,bb,cc):
    if aa%bb==0:
        return cc
    else:
        return aa
def output(*ls):
    d=''
    if ls.count(ls[0])==len(ls):
        return ls[0]
    for i in ls:
        if i in dic.values():
            d=(d+i)
    return d

def execute(a,b,c,number=101):
    global dic
    dic=dict(zip([a,b,c],['Fizzy','Whizzy','Duzzy']))
    for i in range(1,number):
        print output(num(i,a,dic[a]),num(i,b,dic[b]),num(i,c,dic[c]))

if __name__=='__main__':
    execute(3,57

上面网址已经找不到:
根据上面程序的意思(啊啊他写的逻辑好乱!!),我自己写了一个,虽然没有十行解决,但我觉得我写的比他思路要清晰多了…….

def fun(x,y,z):
    dic = dict(zip([x,y,z],['Fizzy','Whizzy','Duzzy']))
    L = []
    list = [x for x in range(1,101) if x%3 == 0 or x%5 == 0 or x%7 == 0]
    global dic
    for i in range(1,101):
        str = ''
        if i in list:
            if i % x == 0:
                str += dic[x]
            if i % y == 0:
                str += dic[y]
            if i % z == 0:
                str += dic[z]
            L.append(str)
        else:
            L.append(i)
    return L

for x in fun(3,5,7):print(x)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值