日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python爱心代码制作_Python之——爱心代码参与情人节

發布時間:2025/3/15 python 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python爱心代码制作_Python之——爱心代码参与情人节 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一行代碼實現輸出愛心圖,參考https://zhuanlan.zhihu.com/p/23321351

原理:

1、借助數學函數——((x * 0.05) ** 2 + (y * 0.1) ** 2 - 1) ** 3 - (x * 0.05) ** 2 * (y * 0.1) ** 3,這個是愛心圖,具體公式是怎么來的不是很懂,借用下。函數小于等于0就是 愛心圖內部。

2、遍歷從x軸開始,判斷函數小于0的話用字符填充,否則用空格填充

3、遍歷從y軸開始,逐行輸出

以下是一行代碼實現:(網上看到的)

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)]))

一行寫列表推導式實現很牛,但是小菜鳥的我當時一下子也沒能看明白,于是乎分解動作:

for y in range(30, -30, -1):

value = []

for x in range(-30, 30):

if ((x * 0.05) ** 2 + (y * 0.1) ** 2 - 1) ** 3 - (x * 0.05) ** 2 * (y * 0.1) ** 3 <= 0:

value.append("*")

else:

value.append(" ")

s = "".join(value)

print s

這樣的話應該就比較清晰了。

效果圖如下:

函數大于0版本

總結

以上是生活随笔為你收集整理的python爱心代码制作_Python之——爱心代码参与情人节的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。