編程界大佬教你:一行Python代碼能做出哪些神奇的事情?

importrequests

(1)一行代碼啟動(dòng)一個(gè)Web服務(wù)

python-m SimpleHTTPServer8080# python2python3 -m http.server 8080? # python3

(2)一行代碼實(shí)現(xiàn)變量值互換

a,b=1,2;a,b=b,a

(3)一行代碼解決FizzBuzz問題:

如果大家在學(xué)習(xí)中遇到困難,想找一個(gè)python學(xué)習(xí)交流環(huán)境,可以加入我們的python圈,裙號947618024,可領(lǐng)取python學(xué)習(xí)資料,會(huì)節(jié)約很多時(shí)間,減少很多遇到的難題。

FizzBuzz問題:打印數(shù)字1到100, 3的倍數(shù)打印“Fizz”, 5的倍數(shù)打印“Buzz”, 既是3又是5的倍數(shù)的打印“FizzBuzz”

print(' '.join(["fizz"[x %3*4:]+"buzz"[x %5*4:] or str(x)forx inrange(1,101)]))

(4)一行代碼輸出特定字符"Love"拼成的心形

print('\n'.join([''.join([('Love'[(x-y) %len('Love')]if((x*0.05)**2+(y*0.1)**2-1)**3-(x*0.05)**2*(y*0.1)**3<=0else' ')forx inrange(-30,30)])fory inrange(30,-30,-1)]))

(5)一行代碼輸出Mandelbrot圖像

Mandelbrot圖像:圖像中的每個(gè)位置都對應(yīng)于公式N=x+y*i中的一個(gè)復(fù)數(shù)、

print('\n'.join([''.join(['*'ifabs((lambda a: lambda z,c, n: a(a, z,c, n))(lambda s, z,c, n: zifn ==0elses(s, z*z+c,c, n-1))(0,0.02*x+0.05j*y,40)) <2else' 'forxinrange(-80,20)])foryinrange(-20,20)]))

(6)一行代碼打印九九乘法表

print('\n'.join([' '.join(['%s*%s=%-2s'% (y, x, x*y)fory inrange(1, x+1)])forx inrange(1,10)]))

(7)一行代碼計(jì)算出1-100之間的素?cái)?shù)(兩個(gè)版本)

print(' '.join([str(item)foritem in filter(lambda x: not [x % ifori inrange(2, x)ifx % i ==0],range(2,101))]))print(' '.join([str(item)foritem in filter(lambda x: all(map(lambda p: x % p !=0,range(2, x))),range(2,101))]))

(8)一行代碼輸出斐波那契數(shù)列

print([x[0] for x in [(a[i][0], a.append([a[i][1], a[i][0]+a[i][1]])) for a in ([[1, 1]], ) for i in range(30)]])

(9)一行代碼實(shí)現(xiàn)快排算法

qsort=lambda arr:len(arr)>1andqsort(list(filter(lambdax:x<=arr[0],arr[1:])))+arr[0:1]+qsort(list(filter(lambdax:x>arr[0],arr[1:])))orarr

(10)一行代碼解決八皇后問題

[__import__('sys').stdout.write('\n'.join('.'* i +'Q'+'.'* (8-i-1)fori in vec) +"\n========\n")forvec in __import__('itertools').permutations(range(8))if8==len(set(vec[i]+ifori inrange(8))) ==len(set(vec[i]-ifori inrange(8)))]

(11)一行代碼實(shí)現(xiàn)數(shù)組的flatten功能: 將多維數(shù)組轉(zhuǎn)化為一維

flatten = lambda x: [yforl in xfory in flatten(l)]ifisinstance(x,list)else[x]

(12)一行代碼實(shí)現(xiàn)list, 有點(diǎn)類似與上個(gè)功能的反功能

array = lambda x: [x[i:i+3]fori inrange(0,len(x),3)]

(13)一行代碼實(shí)現(xiàn)求解2的1000次方的各位數(shù)之和print(sum(map(int, str(2**1000))))

最后多說一句,想學(xué)習(xí)Python可聯(lián)系小編,這里有我自己整理的整套python學(xué)習(xí)資料和路線,想要這些資料的都可以進(jìn)q裙947618024領(lǐng)取。

本文章素材來源于網(wǎng)絡(luò),如有侵權(quán)請聯(lián)系刪除。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容