用Python繪制的愛心樹與表白代碼

發表于:2021-4-13 09:49  作者:有趣好玩的代碼   來源:CSDN

字體: | 上一篇 | 下一篇 |我要投稿 | 推薦標簽: 軟件開發 Python

  用的的開發工具為pycham,pycham也是廣泛用于做Python開發的工具。運用的turtle庫,當然了如果是安裝了anaconda3這個庫那更好,以為這里面有我們會做Python程序設計時用到的大部分的庫,turtle它是python中一個繪制圖像的函數庫,可以用它來繪制很多的東西,比如簡單的小黃人、玫瑰花等,這個庫也可以生說是一只馬良的神筆的吧。比如以下是為女朋友準備的小小的驚喜吧。
  1、愛心樹

  import turtle
  import random
  def love(x,y):#在(x,y)處畫愛心lalala
      lv=turtle.Turtle()
      lv.hideturtle()
      lv.up()
      lv.goto(x,y)#定位到(x,y)
      def curvemove():#畫圓弧
          for i in range(20):
              lv.right(10)
              lv.forward(2)
      lv.color('red','pink')
      lv.speed(100)
      lv.pensize(1)
      #開始畫愛心lalala
      lv.down()
      lv.begin_fill()
      lv.left(140)
      lv.forward(22)
      curvemove()
      lv.left(120)
      curvemove()
      lv.forward(22)
      lv.write("楊冪",font=("Arial",12,"normal"),align="center")#寫上表白的人的名字
      lv.left(140)#畫完復位
      lv.end_fill()
  def tree(branchLen,t):
      if branchLen > 5:#剩余樹枝太少要結束遞歸
          if branchLen<20:
              t.color("green")
              t.pensize(random.uniform((branchLen + 5) / 4 - 2, (branchLen + 6) / 4 + 5))
              t.down()
              t.forward(branchLen)
              love(t.xcor(),t.ycor())#傳輸現在turtle的坐標
              t.up()
              t.backward(branchLen)
              t.color("brown")
              return
          t.pensize(random.uniform((branchLen+5)/4-2,(branchLen+6)/4+5))
          t.down()
          t.forward(branchLen)
          # 以下遞歸
          ang=random.uniform(15,45)
          t.right(ang)
          tree(branchLen-random.uniform(12,16),t)#隨機決定減小長度
          t.left(2*ang)
          tree(branchLen-random.uniform(12,16),t)#隨機決定減小長度
          t.right(ang)
          t.up()
          t.backward(branchLen)
  myWin = turtle.Screen()
  t = turtle.Turtle()
  t.hideturtle()
  t.speed(1000)
  t.left(90)
  t.up()
  t.backward(200)
  t.down()
  t.color("brown")
  t.pensize(32)
  t.forward(60)
  tree(100,t)
  myWin.exitonclick()
  2、畫桃心

  # -*- coding:utf-8 -*-
  import turtle
  import time
  # 畫愛心的頂部
  def LittleHeart():
      for i in range(200):
          turtle.right(1)
          turtle.forward(2)
  # 輸入表白的語句,默認I Love you
  love = input('請輸入表白語句,默認為輸入為"I Love you": ')
  # 輸入署名或者贈誰,沒有不執行
  me = input('請輸入您心上人的姓名或者昵稱: ')
  if love == '':
      love = 'I Love you'
  # 窗口大小
  turtle.setup(width=800, height=500)
  # 顏色
  turtle.color('red', 'pink')
  # 筆粗細
  turtle.pensize(5)
  # 速度
  turtle.speed(1)
  # 提筆
  turtle.up()
  # 隱藏筆
  turtle.hideturtle()
  # 去到的坐標,窗口中心為0,0
  turtle.goto(0, -180)
  turtle.showturtle()
  # 畫上線
  turtle.down()
  turtle.speed(1)
  turtle.begin_fill()
  turtle.left(140)
  turtle.forward(224)
  # 調用畫愛心左邊的頂部
  LittleHeart()
  # 調用畫愛右邊的頂部
  turtle.left(120)
  LittleHeart()
  # 畫下線
  turtle.forward(224)
  turtle.end_fill()
  turtle.pensize(5)
  turtle.up()
  turtle.hideturtle()
  # 在心中寫字 一次
  turtle.goto(0, 0)
  turtle.showturtle()
  turtle.color('#CD5C5C', 'pink')
  # 在心中寫字 font可以設置字體自己電腦有的都可以設 align開始寫字的位置
  turtle.write(love, font=('gungsuh', 30,), align="center")
  turtle.up()
  turtle.hideturtle()
  time.sleep(2)
  # 在心中寫字 二次
  turtle.goto(0, 0)
  turtle.showturtle()
  turtle.color('red', 'pink')
  turtle.write(love, font=('gungsuh', 30,), align="center")
  turtle.up()
  turtle.hideturtle()
  # 寫署名
  if me != '':
      turtle.color('black', 'pink')
      time.sleep(2)
      turtle.goto(180, -180)
      turtle.showturtle()
      turtle.write(me, font=(20,), align="center", move=True)
  # 點擊窗口關閉
  window = turtle.Screen()
  window.exitonclick()

      本文內容不用于商業目的,如涉及知識產權問題,請權利人聯系51Testing小編(021-64471599-8017),我們將立即處理

評 論

論壇新帖

頂部 底部


建議使用IE 6.0以上瀏覽器,800×600以上分辨率,法律顧問:上海信義律師事務所 項棋律師
版權所有 上海博為峰軟件技術股份有限公司 Copyright©51testing.com 2003-2021, 滬ICP備05003035號
投訴及意見反饋:webmaster@51testing.com; 業務聯系:service@51testing.com 021-64471599-8017

滬公網安備 31010102002173號

51Testing官方微信

51Testing官方微博

掃一掃 測試知識全知道

农村里的风流韵事