您好,登錄后才能下訂單哦!
本篇文章為大家展示了利用python繪制一個愛心,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
初級畫心
學Python,感覺你們的都好復雜,那我來個簡單的,我是直接把心形看作是一個正方形+兩個半圓:
于是這就很簡單了,十行代碼解決:
import turtle as t t.pensize(2) # 筆大小2像素 t.pencolor("red") # 顏色為紅色 t.left(45) # 45度 t.fd(200) # 向前200直線 t.circle(100, 180) # 畫一圓半徑100 弧度180 t.right(90) # 向右90度 t.circle(100, 180) # 再畫一個圓半徑100 弧度180 t.fd(200) # 直線向前直線200 t.done() # 繪制完成
一行代碼畫心
原代碼
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 <= 0 else ' ') for x in range(-30, 30)]) for y in range(30, -30, -1)]))
拆解了一下這段長串的【一行代碼】,得到如下的多行代碼,實際運行效果一致,代碼如下:
import time words = input('請輸出想要表達的文字:') #例子:words = "Dear lili, Happy Valentine's Day! Lyon Will Always Love You Till The End! ♥ Forever! ♥" for item in words.split(): #要想實現打印出字符間的空格效果,此處添加:item = item+' ' letterlist = []#letterlist是所有打印字符的總list,里面包含y條子列表list_X for y in range(12, -12, -1): list_X = []#list_X是X軸上的打印字符列表,里面裝著一個String類的letters letters = ''#letters即為list_X內的字符串,實際是本行要打印的所有字符 for x in range(-30, 30):#*是乘法,**是冪次方 expression = ((x*0.05)**2+(y*0.1)**2-1)**3-(x*0.05)**2*(y*0.1)**3 if expression <= 0: letters += item[(x-y) % len(item)] else: letters += ' ' list_X.append(letters) letterlist += list_X print('\n'.join(letterlist)) time.sleep(1.5);
但是,有點太單調了點,來,讓我擼起袖子搞點事情,將代碼簡單改造一下,實現動態輸出心形的一段話的效果:
改造以后,看上去不錯了!效果如下:
代碼如下,喜歡請點贊哦,謝謝❤️!:
import time words = input('請輸出想要表達的文字:') for item in words.split(): print('\n'.join([''.join([(item[(x-y) % len(item)] if ((x*0.05)**2+(y*0.1)**2-1)**3-(x*0.05)**2*(y*0.1)**3 <= 0 else ' ') for x in range(-30, 30)]) for y in range(12, -12, -1)])) time.sleep(1.5)
上述內容就是利用python繪制一個愛心,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。