導航:首頁 > 程序命令 > 程序員寫1000個if

程序員寫1000個if

發布時間:2024-09-24 12:42:12

『壹』 python-520表白代碼,我看誰說程序員不懂浪漫,送你幾套表白代碼,一步到位

520到了,還被女朋友問送什麼禮物嗎?鮮花?口紅?看電影?很俗的好不好,給你女朋友一個程序員的Surprise吧,來來來,讓你用代碼撩妹子。啥?沒有女朋友?沒有女朋友更應該看了,用它來表白不香嘛?

1、引言

什麼什麼?你女朋友不懂代碼?沒有編譯環境?這叫事兒嘛,以下你看到的所有代碼,我都給你打包成電腦一鍵運行的exe程序,雙擊就完事兒。就問你女朋友喜不喜歡,文章末尾自取即可。

我還在每個文件夾中寫了使用說明,你確定不要嗎?尤其是最後一個,非常好看哦。

2、代碼列表

浪漫玫瑰

浪漫玫瑰加愛心

你中有我,我中有你

浪漫小樹

用女朋友照片,繪制心形

電腦彈窗表白

字元畫-用字元畫出來你女朋友(尤其是這個,我最喜歡了)

3、浪漫玫瑰成品展示源代碼from turtle import *import timesetup(1000, 800, 0, 0)speed(0)penup()seth(90)fd(340)seth(0)pendown()speed(5)begin_fill()fillcolor('red')circle(50, 30)for i in range(10):fd(1)left(10)circle(40, 40)for i in range(6):fd(1)left(3)circle(80, 40)for i in range(20):fd(0.5)left(5)circle(80, 45)for i in range(10):fd(2)left(1)circle(80, 25)for i in range(20):fd(1)left(4)circle(50, 50)time.sleep(0.1)circle(120, 55)speed(0)seth(-90)fd(70)right(150)fd(20)left(140)circle(140, 90)left(30)circle(160, 100)left(130)fd(25)penup()right(150)circle(40, 80)pendown()left(115)fd(60)penup()left(180)fd(60)pendown()end_fill()right(120)circle(-50, 50)circle(-20, 90)speed(1)fd(75)speed(0)circle(90, 110)penup()left(162)fd(185)left(170)pendown()circle(200, 10)circle(100, 40)circle(-52, 115)left(20)circle(100, 20)circle(300, 20)speed(1)fd(250)penup()speed(0)left(180)fd(250)circle(-300, 7)right(80)circle(200, 5)pendown()left(60)begin_fill()fillcolor('green')circle(-80, 100)right(90)fd(10)left(20)circle(-63, 127)end_fill()penup()left(50)fd(20)left(180)pendown()circle(200, 25)penup()right(150)fd(180)right(40)pendown()begin_fill()fillcolor('green')circle(-100, 80)right(150)fd(10)left(60)circle(-80, 98)end_fill()penup()left(60)fd(13)left(180)pendown()speed(1)circle(-200, 23)exitonclick()4、浪漫玫瑰加愛心成品展示源代碼import turtleimport time# 愛心函數def yellowheart(x, y, liftx):turtle.pensize(3)turtle.speed(10)turtle.color("red", "red")turtle.up()turtle.goto(x, y)turtle.down()turtle.begin_fill()turtle.left(liftx)turtle.fd(80)turtle.circle(-40, 180)turtle.left(90)turtle.circle(-40, 180)turtle.left(0)turtle.fd(80)turtle.end_fill()def rose():turtle.speed(0)# 畫筆移動的速度# turtle.tracer(False)# 設置初始位置turtle.penup()# 提起畫筆turtle.left(90)# 逆時針轉動畫筆90度turtle.fd(200)turtle.pendown()# 放下畫筆,移動畫筆即開始繪制turtle.right(90)# 設置畫筆的大小turtle.pensize(2)# 花蕊turtle.fillcolor("red")# 填充顏色turtle.begin_fill()# 開始填充turtle.circle(10, 180)turtle.circle(25, 110)turtle.left(50)turtle.circle(60, 45)turtle.circle(20, 170)turtle.right(24)turtle.fd(30)turtle.left(10)turtle.circle(30, 110)turtle.fd(20)turtle.left(40)turtle.circle(90, 70)turtle.circle(30, 150)turtle.right(30)turtle.fd(15)turtle.circle(80, 90)turtle.left(15)turtle.fd(45)turtle.right(165)turtle.fd(20)turtle.left(155)turtle.circle(150, 80)turtle.left(50)turtle.circle(150, 90)turtle.end_fill()# 結束填充# 右側花瓣turtle.left(150)turtle.circle(-90, 70)turtle.left(20)turtle.circle(75, 105)turtle.setheading(60)turtle.circle(80, 98)turtle.circle(-90, 40)# 左側花瓣turtle.left(180)turtle.circle(90, 40)turtle.circle(-80, 98)turtle.setheading(-83)# 左側葉子turtle.fd(30)turtle.left(90)turtle.fd(25)turtle.left(45)turtle.fillcolor("green")turtle.begin_fill()turtle.circle(-80, 90)turtle.right(90)turtle.circle(-80, 90)turtle.end_fill()turtle.right(135)turtle.fd(60)turtle.left(180)turtle.fd(85)turtle.left(90)turtle.fd(80)# 右側葉子turtle.right(90)turtle.right(45)turtle.fillcolor("green")turtle.begin_fill()turtle.circle(80, 90)turtle.left(90)turtle.circle(80, 90)turtle.end_fill()turtle.left(135)turtle.fd(60)turtle.left(180)turtle.fd(60)turtle.right(90)turtle.circle(200, 50)# 畫一個圓 200 是半徑,50 是弧度time.sleep(1)# turtle.tracer(False)# turtle.pensize(3)# turtle.speed(0)turtle.color("red", "red")turtle.up()turtle.goto(-230, 50)turtle.down()turtle.begin_fill()turtle.left(180)turtle.fd(80)turtle.circle(-40, 180)turtle.left(90)turtle.circle(-40, 180)turtle.left(0)turtle.fd(80)turtle.end_fill()time.sleep(1)# turtle.tracer(False)# turtle.pensize(3)# turtle.speed(0)turtle.color("red", "red")turtle.up()turtle.goto(-230, -80)turtle.down()turtle.begin_fill()turtle.left(-30)turtle.fd(80)turtle.circle(-40, 180)turtle.left(90)turtle.circle(-40, 180)turtle.left(0)turtle.fd(80)turtle.end_fill()time.sleep(1)# turtle.tracer(False)# turtle.pensize(3)# turtle.speed(0)turtle.color("red", "red")turtle.up()turtle.goto(-130, -180)turtle.down()turtle.begin_fill()turtle.left(-80)turtle.fd(80)turtle.circle(-40, 180)turtle.left(90)turtle.circle(-40, 180)turtle.left(0)turtle.fd(80)turtle.end_fill()time.sleep(1)# turtle.tracer(False)# turtle.pensize(3)# turtle.speed(0)turtle.color("red", "red")turtle.up()turtle.goto(200, -200)turtle.down()turtle.begin_fill()turtle.left(-90)turtle.fd(80)turtle.circle(-40, 180)turtle.left(90)turtle.circle(-40, 180)turtle.left(0)turtle.fd(80)turtle.end_fill()time.sleep(1)# turtle.tracer(False)# turtle.pensize(3)# turtle.speed(0)turtle.color("red", "red")turtle.up()turtle.goto(200, 50)turtle.down()turtle.begin_fill()turtle.left(90)turtle.fd(80)turtle.circle(-40, 180)turtle.left(90)turtle.circle(-40, 180)turtle.left(0)turtle.fd(80)turtle.end_fill()def figure1():turtle.reset()turtle.tracer(False)rose()yellowheart(-230, 50, 180)# 左一# time.sleep(2)def figure2():# turtle.reset()turtle.tracer(False)rose()yellowheart(-230, -80, -30)# 左二# time.sleep(2)def figure3():turtle.reset()turtle.tracer(False)rose()yellowheart(-130, -180, -30)# 左三# time.sleep(2)def figure4():turtle.reset()turtle.tracer(False)rose()yellowheart(200, 50, 90)# 右一# ime.sleep(2)def figure5():turtle.reset()turtle.tracer(False)rose()yellowheart(200, -200, -90)# 右二# time.sleep(2)if __name__ == "__main__":rose()# figure1()## yellowheart(-230, -80, -30)# 左二# 不讓自動退出,放在程序的最後一行# 不然畫畫結束後會自動退出turtle.done()5、你中有我,我中有你成品展示源代碼from turtle import *def go_to(x, y):up()goto(x, y)down()def small_Circle(size):# 函數用於繪制心的小圓speed(10)for i in range(210):forward(size)right(0.786)def big_Circle(size):# 函數用於繪制心的大圓speed(10)for i in range(150):forward(size)right(0.3)def line(size):speed(10)forward(51 * size)def heart(x, y, size):go_to(x, y)left(150)begin_fill()line(size)big_Circle(size)small_Circle(size)left(120)small_Circle(size)big_Circle(size)line(size)end_fill()def main():pensize(2)color('red', 'pink')getscreen().tracer(1, 0)heart(100, 0, 0.7)go_to(80, 70)write("官人", font=("楷體", 18, "normal"))setheading(0)heart(-80, -100, 1)go_to(-110, 15)write("娘子", font=("宋體", 20, "normal"))go_to(40, -80)write("三生三世皆是你!", move=True, align="left", font=("arial", 22, "italic"))done()main()6、浪漫小樹成品展示源代碼import turtle as Timport randomimport time# 畫櫻花的軀干(60,t)def Tree(branch, t):time.sleep(0.0005)if branch > 3:if 8 <= branch <= 12:if random.randint(0, 2) == 0:t.color('snow')# 白else:t.color('lightcoral')# 淡珊瑚色t.pensize(branch / 3)elif branch < 8:if random.randint(0, 1) == 0:t.color('snow')else:t.color('lightcoral')# 淡珊瑚色t.pensize(branch / 2)else:t.color('sienna')# 赭(zhě)色t.pensize(branch / 10)# 6t.forward(branch)a = 1.5 * random.random()t.right(20 * a)b = 1.5 * random.random()Tree(branch - 10 * b, t)t.left(40 * a)Tree(branch - 10 * b, t)t.right(20 * a)t.up()t.backward(branch)t.down()# 掉落的花瓣def Petal(m, t):for i in range(m):a = 200 - 400 * random.random()b = 10 - 20 * random.random()t.up()t.forward(b)t.left(90)t.forward(a)t.down()t.color('lightcoral')# 淡珊瑚色t.circle(1)t.up()t.backward(a)t.right(90)t.backward(b)# 繪圖區域t = T.Turtle()# 畫布大小w = T.Screen()t.hideturtle()# 隱藏畫筆t.getscreen().tracer(5, 0)w.screensize(bg='wheat')# wheat小麥t.left(90)t.up()t.backward(150)t.down()t.color('sienna')# 畫櫻花的軀干Tree(60, t)# 掉落的花瓣Petal(200, t)w.exitonclick()7、用女朋友照片,繪制心形成品展示

PS:我是每個照片放了三份,所以每個一樣的圖出現了三次,你要放置不一樣的圖片,就不會出現該問題了。

源代碼from PIL import Imageimport osmap = [[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],[1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1],[1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1],[1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1],[1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1],[1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1],[1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1],[1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1],[1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1],[1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1],[1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1],[1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1],[1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1],[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],]# 這個是我圖片的所在路徑img_dir = "photo"imgs = os.listdir(img_dir)img_h = img_w = 192rows = len(map)columns = len(map[0])figure = Image.new("RGB", (img_w * columns, img_h * rows), "white")count = 0for i in range(len(map)):for j in range(len(map[i])):if map[i][j] == 1:continueelse:try:image = Image.open(os.path.join(img_dir, imgs[count]))except:continueimage = image.resize((img_w, img_h))figure.paste(image, (img_w * j, img_h * i))count += 1figure.show()figure.save('心型照片牆.png')8、電腦彈框表白成品展示源代碼import tkinter as tkimport randomimport threadingimport timedef dow():window = tk.Tk()width = window.winfo_screenwidth()height = window.winfo_screenheight()a = random.randrange(0, width)b = random.randrange(0, height)window.title(驠快樂')window.geometry("200x50" + "+" + str(a) + "+" + str(b))tk.Label(window, text=驠快樂!愛你幺', bg='Red',# 背景顏色 font=('楷體', 17), width=15, height=2 ).pack()window.mainloop()threads = []for i in range(30):# 需要的彈框數量,別寫太多,容易電腦卡死哦t = threading.Thread(target=dow)threads.append(t)time.sleep(0.1)threads[i].start()9、字元畫-用字畫你女朋友成品展示

原圖:

渲染之後的圖:

源代碼

剩餘內容請轉至VX公眾號 「運維家」 ,回復 「166」 查看。

------ 「運維家」 ,回復 「166」 ?------

------ 「運維家」 ,回復 「166」 ?------

------ 「運維家」 ,回復 「166」 ?------

重慶安全運維工程師入行門檻低,運維監理工程師是做什麼的,大連找工作運維工程師,系統運維工程師工作計劃的編寫,系統運維工程師學習課程,適合運維工程師的兼職,信息運維工

『貳』 編一段程序(只有代碼段)讓顯示器上輸出26個字母「AB.....Z」. PS:可追加懸賞

第一個程序:畫一百個同心圓
第一步:復制下面的紅色代碼
第二步:在模型空間按快捷鍵Alt+F8,出現宏窗口
第三步:在宏名稱中填寫C100,點「創建」、「確定」
第四步:在Sub c100()和End Sub之間粘貼代碼
第五步:回到模型空間,再次按Alt+F8,點擊「運行」
Sub c100()
Dim cc(0 To 2) As Double '聲明坐標變數
cc(0) = 1000 '定義圓心座標
cc(1) = 1000
cc(2) = 0
For i = 1 To 1000 Step 10 '開始循環
Call ThisDrawing.ModelSpace.AddCircle(cc, i * 10) '畫圓
Next i
End Sub
也許您還看不懂上面的代碼,這沒有關系,只要能把同心畫出來就可以了,祝您成功。
第二課 編程基礎
本課主要任務是對上一課的常式進行詳細分析
下面是源碼
Sub c100()
Dim cc(0 To 2) As Double '聲明坐標變數
cc(0) = 1000 '定義圓心座標
cc(1) = 1000
cc(2) = 0
For i = 1 To 1000 Step 10 '開始循環
Call ThisDrawing.ModelSpace.AddCircle(cc, i * 10) '畫圓
Next i
End Sub
先看第一行和最後一行:
Sub C100()
……
End Sub
C100是宏的名稱,也叫過程名稱,當用戶執行C100時程序將運行sub 和end sub之間的所有指令。
第二行:
Dim cc(0 To 2) As Double '聲明坐標變數
後半段「'聲明坐標變數」自動變為綠色字體,它是代碼語句的注釋,它不會影響程序運行,它的作用是告訴閱讀者程序員的想法。對於簡單的程序,一般不需要寫注釋,如果要編寫非常復雜的程序,最好要多加註釋,越詳細越好,對於程序員來說,這是一個好習慣。
電腦真正編譯執行的是這條語句:Dim cc(0 To 2) As Double
它的作用就是聲明變數。
Dim是一條語句,可以理解為計算機指令。
它的語法:Dim變數名 As 數據類型
本例中變數名為CC,而括弧中的0 to 2聲明這個CC是一個數組,這個數組有三個元素:CC(0)、CC(1)、CC(2),如果改為CC(1 to 3),則三個元素是CC(1)、CC(2)、CC(3),有了這個數組,就可以把坐標數值放到這個變數之中。
Double是數據類型中的一種。ACAD中一般需要定義坐標時就用這個數據類型。在ACAD中數據類型的有很多,下面兩個是比較常用的數據類型,初學者要有所理解。
Long(長整型),其范圍從 -2,147,483,648 到 2,147,483,647。
Variant 它是那些沒被顯式聲明為其他類型變數的數據類型,可以理解為一種通用的數據類型,這是最常用的。
下面三條語句
cc(0) = 1000 '定義圓心座標
cc(1) = 1000
cc(2) = 0
它們的作用是給CC變數的每一個元素賦,值其順序是X、Y、Z坐標。

For i = 1 To 1000 Step 10 '開始循環
……
Next i '結束循環
這兩條語句的作用是循環運行指令,每循環一次,i值要增加10,當i加到 1000時,結束循環。
i也是一個變數,雖然沒有聲明i變數,程序還是認可的,VB不是C語言,每用一個變數都要聲明,不聲明就會報錯。簡單是簡單了,這樣做也有壞處,如果不小心打錯了一個字母,程序不會報錯,如果程序很長,那就會出現一些意想不到的錯誤。
step後面的數值就是每次循環時增加的數值,step後也可以用負值。
例如:For i =1000 To 1 Step -10
很多情況下,後面可以不加step 10
如:For i=1 to 100,它的作用是每循環一次i值就增加1
Next i語句必須出現在需要結束循環的位置,不然程序沒法運行。
下面看畫圓命令
Call ThisDrawing.ModelSpace.AddCircle(cc, i * 10)
Call語句的作用是調用其他過程或者方法。
ThisDrawing.ModelSpace是指當前CAD文檔的模型空間
AddCircle是畫圓方法
Addcicle方法需要兩個參數:圓心和半徑
CC就是圓心坐標,i*10就是圓的半徑,本例中,這些圓的半徑分別是10、110、210、310……
本課到此結束,下面請完成一道思考題:
1.以(4,2)為圓心,畫5個同心圓,其半徑為1-5
第三課 編程基礎二
繪制三維多段線時X、Y值在屏幕上用滑鼠選取,Z值用鍵盤輸入
本課將講解這個問題。
為了簡化程序,這里用多條直線來代替多段線。以下是源碼:
Sub myl()
Dim p1 As Variant '申明端點坐標
Dim p2 As Variant
p1 = ThisDrawing.Utility.GetPoint(, "輸入點:") '獲取點坐標
z = ThisDrawing.Utility.GetReal("Z坐標:") '用戶輸入Z坐標值
p1(2) = z '將Z坐標值賦予點坐標中
On Error GoTo Err_Control '出錯陷井
Do '開始循環
p2 = ThisDrawing.Utility.GetPoint(p1, vbCr & "輸入下一點:") '獲取下一個點的坐標
z = ThisDrawing.Utility.GetReal("Z坐標:") '用戶輸入Z坐標值
p2(2) = z '將Z坐標值賦予點坐標中
Call ThisDrawing.ModelSpace.AddLine(p1, p2) '畫直線
p1 = p2 '將第二點的端點保存為下一條直線的第一個端點坐標
Loop
Err_Control:
End Sub
先談一下本程序的設計思路:
1、獲取第一點坐標
2、輸入第一點Z坐標
3、獲取第二點坐標
4、輸入第二點Z坐標
5、以第一、二點為端點,畫直線
6、下一條線的第一點=這條線的第二點
7、回到第3步進行循環
如果用戶沒有輸入坐標或Z值,則程序結束。
首先看以下兩條語句:
p1 = ThisDrawing.Utility.GetPoint(, "輸入點:") 『獲取點坐標
……
p2 = ThisDrawing.Utility.GetPoint(p1, vbCr & "輸入下一點:") '獲取下一個點的坐標
這兩條語句的作用是由用戶輸入點用滑鼠選取點坐標,並把坐標值賦給p1、p2兩個變數。ThisDrawing.Utility.GetPoint()在ACAD中這是最常用的方法之一,它需要兩個參數,在逗號前面的參數應該是一個點坐標,它的作用是在屏幕上畫一條線,前一個端點位於點坐標位置,後一個端點跟隨滑鼠移動,逗號之前可以什麼都不填,這時沒有線條會跟隨滑鼠移動,但逗號必須保留。
逗號後面使用一串字元,程序在命令行顯示這串字元,這不難理解。
VbCr通常代表一個回車符,而在這個語句中,它的作用是在命令行不顯示「命令:」
&的作用是連接字元。舉例:
「愛我中華 」&」抵制日貨 」&」從我做起」
z = ThisDrawing.Utility.GetReal("Z坐標:") '用戶輸入Z坐標值
由用戶輸入一個實數
On Error GoTo Err_Control '出錯陷井
……
Err_Control:
On Error是出錯陷井語句,在程序出錯時將執行On Error 後面的語句
GoTo Err_contorl 是程序跳轉語句,它的作用是在程序中尋找Err_control:,並執行這一行後面的語句,本例中Err_Control:後就是結束宏,所以只要出現錯誤,程序中止。
Do '開始循環
……
Loop 『結束循環
這個循環就歷害了,它會無休止地進行循環,好在本例中已經有了一個出錯陷井,當用戶輸入回車時,由於程序沒有得到點或坐標,程序出錯,跳出循環,中止程序。如果要人為控制跳出循環,可以在代碼中用Exit Do語句跳出循環。在For 變數 和Next 變數之間如果要跳出循環,那麼只要在循環體內加一個Exit for 就可以跳出循環,關於這方面的常式以後會講到。
Call ThisDrawing.ModelSpace.AddLine(p1, p2) '畫直線
畫直線方法也是很常用的,它的兩個參數是點坐標變數
本課到此結束,請做思考題:
連續畫圓,每次要求用戶輸入圓心、半徑,當用戶不再輸入圓心或半徑時程序才退出
第四課 程序的調試和保存
人非聖賢,孰能無過,初學者在編寫復雜程序時往往會出現一些意想不到的錯誤,所以程序的調試顯得尤為重要,隨著學習的深入,以後我們需要經常進行程序調試。事實上,對於那些資深程序員來說,調試程序也是一項不可或缺的重要工作。
首先,在程序輸入階段,應該充分利用VBA編輯器的智能功能。當你在寫代碼時,輸入一些字母後,編輯器可以自動列出合適的語句、對象、函數供你選擇,可以用上下鍵選擇,然後按TAB鍵(它位於「Q」鍵左邊)確認。當輸入一個回車符後程序會自動對這條語句進行分析,如果出現錯誤就會提示。
我們經常碰到的麻煩是程序的運行結果和預計的不一樣,一般我會這樣做:首先要想一想可能是哪一個變數有問題,然後去監視這個變數(或表達式),在程序合適的位置設置斷點,這樣可以使程序停下來看一看這個變數有沒有按照我的設想在變化。下面我舉一個簡單的例子,先看源代碼:
sub test()
for i=2 to 4 step 0.6
next i
end sub
這是一個非常簡單的循環,每一次循環i便會增加0.6,當循環3次後i值就變為4.4,但問題是每一次循環時i值變為多少?
第一步:在菜單中選「調試」—「添加監視」,在表達試中填「i」,點擊確定,這時你會看到臨視窗口中會多一行。
第二步:把游標移到代碼窗口中的「next i」行,按一下「F9」,於是每當程序運行到這里時就會暫停了。
好,一切就緒,請按F5執行程序,在監視窗口中C值立刻變為2,再按F5繼續,C值為2.6,再按幾次F5,直到程序結束,這樣我們就成功監視了C值的變化。
第三步:在next i行再按一次F9,清除斷點。監視的表達式的右鍵菜單選擇「刪除監視」。
另外,還可以用「逐語句」、「逐過程」、「運行到游標處」等方法進行調試,這些都在調試菜單中,操作比較簡單,請讀者自行領悟。
到目前為止,我們所做的工程都是「嵌入式工程」,它只是嵌入在當前的Autocad圖形文件中, 以後打開這個文件時代碼才會載入,如果別的dwg文件也要使用,那就需要把代碼導出為.bas文件,供其他dwg文件導入。在VBA編輯器的「文件」菜單中有這兩個功能,一試便知。
ACAD VBA還有一種工程叫「通用式工程」,只要進入ACAD就可以運行,程序可以在不同用戶、不同的圖形文件中共享,但是由於VBA功能太強,有時候會出現一些意想不到的事情,所以在學習階段請暫時不要這樣做。
本課結束,請做思考題;監視下列代碼中的i和j的值,注意,此題雖然要監視2個變數,但是在代窗口中只要設置1個斷點就足夠了。
sub test()
for i=2 to 4 step 0.6
for j=-5 to 2 step 5.5
next j
next i
end sub
第五課 畫函數曲線
先畫一組下圖拋物線。

下面是源碼:
Sub myl()
Dim p(0 To 49) As Double '定義點坐標
Dim myl As Object '定義引用曲線對象變數
co = 15 '定義顏色
For a = 0.01 To 1 Step 0.02 '開始循環畫拋物線
For i = -24 To 24 Step 2 '開始畫多段線
j = i + 24 '確定數組元素
p(j) = i '橫坐標
p(j + 1) = a * p(j) * p(j) / 10 '縱坐標
Next i '至此p(0)-p(40)所有元素已定義,結束循環
Set myl = ThisDrawing.ModelSpace.AddLightWeightPolyline(p) '畫多段線
myl.Color = co '設置顏色屬性
co = co + 1 '改變顏色,供下次定義曲線顏色
Next a
End sub
為了鼓勵大家積極思考,從本課開始,我不再解釋每一條語句的作用,只對以前沒有提過的語句進行一些解釋,也許你一時很難明白,建議用上一課提到的跟蹤變數、添加斷點的辦法領悟每一條語句的作用。
在跟蹤變數p時請在跟蹤窗口中單擊變數p前的+號,這樣可以看清數組p中每一個元素的變化。
ACAD沒有現成的畫拋物線命令,我們只能用程序編寫多段線畫近似拋物線。理論上,拋物線的X值可以是無限小、無限大,這里取值范圍在正負24之間。
程序第二行:Dim myl As Object '定義引用曲線對象變數
Object也是一種變數類型,它可以把變數定義為對象,本例中myl變數將引用多段線,所以要定義為Objet類型。
看畫多段線命令:
Set myl = ThisDrawing.ModelSpace.AddLightWeightPolyline(p) '畫多段線
其中括弧中的p是一個數組,這個數組的元素數必須是偶數,每兩個元數作為一個點坐標。
等號前面部分「Set myl」的作用就將myl變數去引用畫好的多段線。
myl.Color = co '設置顏色屬性。在ACAD中,顏色可以用數字表示,本例中co會增值,這樣就會有五彩繽紛的效果。
本課第二張圖:正弦曲線,下面是源碼:
Sub sinl()
Dim p(0 To 719) As Double '定義點坐標
For i = 0 To 718 Step 2 '開始畫多段線
p(i) = i * 2 * 3.1415926535897 / 360 '橫坐標
p(i + 1) = 2 * Sin(p(i)) '縱坐標
Next i
ThisDrawing.ModelSpace.AddLightWeightPolyline (p) '畫多段線
ZoomExtents '顯示整個圖形
End Sub

p(i) = i * 2 * 3.1415926535897 / 360 '橫坐標
橫坐標表示角度,後面表達式的作用是把角度轉化弧度
ZoomExtents語句是縮放命令,它的作用是顯示整個圖形,消除圖形以外的區域
本課思考題:畫一條拋物線:y=0.5*x*x+3,其中X取值范圍在正負50之間
第六課 數據類型的轉換
上一節課我們用一個簡單的公式把角度轉化為弧度,這樣做便於大家理解。不過VBA中有現成的方法可以轉換數據類型。
我們舉例說明:
jd = ThisDrawing.Utility.AngleToReal(30, 0)
這個表達式把角度30度轉化為弧度,結果是.523598775598299。
AngleToReal需要兩個參數,前面是表示要轉換角度的數字,而後面一個參數可以取值為0-4之間的整數,有如下意義:
0:十進制角度;1:度分秒格式;2:梯度;3:弧度;4:測地單位
例:id= ThisDrawing.Utility.AngleToReal("62d30' 10""", 1)
這個表達式計算62度30分10秒的弧度
再看將字元串轉換為實數的方法:DistanceToReal
需要兩個參數,前一個參數是表示數值的字元串,後面可以取值1-5,表示數據格式,有如下意義:
1:科學計數;2:十進制;3:工程計數——英尺加英寸;4:建築計數——英尺加分數英寸;5:分數格式。
例:以下表達式得到一個12.5的實數
temp1 = ThisDrawing.Utility.DistanceToReal("1.25E+01", 1)
temp2 = ThisDrawing.Utility.DistanceToReal("12.5", 2)
temp3 = ThisDrawing.Utility.DistanceToReal("12 1/2", 5)
而realtostring方法正好相反,它把一個實數轉換為字元串。它需要3個參數
第一個參數是一個實數,第二個參數表示數據格式,含義同上,最後一個參數表示精確到幾位小數。
temp1= ThisDrawing.Utility.RealToString(12.5, 1, 3)
得到這個字元串:「1.250E+01」,
下面介紹一些數型轉換函數:
Cint,獲得一個整數,例:Cint(3.14159) ,得到3
Cvar,獲得一個Variant類型的數值,例:Cvar("123" & "00"),得到」12300」
Cdate,轉換為date數據類型,例:MyShortTime = CDate("11:13:14 AM")
下面的代碼可以寫出一串數字,從000-099。
Sub test()
Dim add0 As String
Dim text As String
Dim p(0 To 2) As Double
p(1) = 0 'Y坐標為0
p(2) = 0 'Z坐標為0
For i = 0 To 99 '開始循環
If i < 10 Then '如果小於10
add0 = "00" '需要加00
Else '否則
add0 = "0" '需要加0
End If
text = add0 & CStr(i) '加零,並轉換數據
p(0) = i * 100 'X坐標
Call ThisDrawing.ModelSpace.AddText(text, p, 4) '寫字
Next i

End Sub

重點解釋條件判斷語句:
If 條件表達式 Then
……
Else
……
End if
如果滿足條件那麼程序往下執行,到else時不再往下執行,直接跳到End if後面
如果不滿足條件,程序跳到else後往下運行。
Call ThisDrawing.ModelSpace.AddText(text, p, 4) '寫字
這是寫單行文本,需要三個參數,分別是:寫的內容、位置、字高
第七課 寫文字
客觀地說,ACAD寫字功能不夠歷害,而用VBA可以使寫字效率更高。比較正規的做法是把定義文字樣式,用樣式來控制文字的特性。我們還是用實例來學習,先看下面一段代碼,它的作用是先創建一個文字樣式,然後用這個文字樣式寫一段多行文本。
Sub txt()
Dim mytxt As AcadTextStyle '定義mytxt變數為文本樣式
Dim p(0 To 2) As Double '定義坐標變數
p(0) = 100: p(1) = 100: p(2) = 0 '坐標賦值
Set mytxt = ThisDrawing.TextStyles.Add("mytxt") '添加mytxt樣式
mytxt.fontFile = "c:\windows\fonts\simfang.ttf" '設置字體文件為仿宋體
mytxt.Height = 100 '字高
mytxt.Width = 0.8 '寬高比
mytxt.ObliqueAngle = ThisDrawing.Utility.AngleToReal(3, 0) '傾斜角度(需轉為弧度)

ThisDrawing.ActiveTextStyle = mytxt '將當前文字樣式設置為mytxt
Set txtobj = ThisDrawing.ModelSpace.AddMText(p, 1400, "\P" & "此心自光明正大,過人遠矣")
txtobj.LineSpacingFactor = 2 '指定行間距
txtobj.AttachmentPoint = 3 '右對齊(1為左對齊,2為居中)
End Sub
我們看這條語句
Set mytxt = ThisDrawing.TextStyles.Add("mytxt")
添加文本樣式並賦值給mytxt變數,只需要一個參數:文本樣式名
fontfile、height、width、ObliqueAngle是文本樣式最常用的屬性
Call ThisDrawing.ModelSpace.AddMText(p, 1400, "\P" & "此心自光明正大,過人遠矣")
這條語句是寫文本,需要三個參數。第一個參數p是坐標,1400是寬度,最後一個參數是文本內容,其中\p是一個回車符
擴大字元間距用\T數字,例:\T3abc,使文字abc的間距擴大3 部,n取值范圍是0.75-3
在論壇中有一個經常被同好提及的問題:如何使用文字疊加。舉例說明:123\S+0.12^-0.34
\S是格式字元,^是分隔符,前面的數字在上,後面的數字在下。
\C是顏色格式字元,C後面跟一個數字表示顏色
\A是對齊方式,\A0,\A1,\A2分別表示底部對齊、中間對齊和頂部對齊

夠不夠,不夠的話給個郵箱,我再發給你一個pdf文件!

『叄』 作為一個程序員,選擇哪些兼職比較好,希望給一個較好的方案(計劃),謝謝

大多數程序員想要在業余的時間掙點錢,第一想到的就是它,畢竟這是程序員本職的工作。但問題是哪裡找私活?私活該怎麼定價?這里大家優先選擇熟人推薦的,比如你的朋友、同事、或者同事的同事等等。他們所在的公司可能剛好需要這樣的私活需要找人做,比較靠譜。其次去各大外包網站尋找,很多技術網站都有人發布一些私活項目,網上搜索下就會找的到。那麼私活該怎麼定價?首先肯定是不能比你的工資低,不管是按時薪算還是月薪算,因為對於程序員來說你的業余時間比你工作時間更寶貴。

但這種接私活的方式並不是很推薦,自己最開始工作的時候有接過一個私活,但是後來就沒做了。因為太累了,而且費心。如果你遇到僱主不是從事互聯網的人,有可能連他自己的需求都理不清,就開始叫你做。做到一半的時候,又重新改需求。並且有時候做完的私活,尾款難以收到。

現在在線教育大家越來越能接受,不管是網上的免費課程還是收費課程,總有受眾人群的。所以這就是衍生了一種賺外快的方式,就是錄制視頻課程。一般錄制的課程分為兩種:免費課程和收費課程。免費課程是按照課程時長來算,一般至少是每小時 1000 - 2000 塊,不同的網站與不同的課程級別,價格有浮動,但是這個時長是按照最後剪輯的市場,也就是說,最後剪輯的 1 小時課程,你很可能錄制了 2、3 小時。當然,一開始錄制會比較麻煩些,但是一旦上手了,後面錄制就會比較快了,一般來說,每月靠錄制課程賺個 5、6 K 是沒有問題的。

還有一種是收費課程,但是收費課程一般都尋找一些大公司 title 好聽的,或者有點名氣的。因為這樣才能吸引用戶付費購買。收費課程除了錄制課程費用,還有一定的提成,提成標准每家也都有所不同。如果你能力還不錯,去錄制一些免費課程應該沒問題,如果你在業界小有名氣,那隻要你願意,那肯定是沒有問題。

如今自媒體如日中天,以今日頭條為首的自媒體平台非常的多。有的人玩今日頭條年收入 50 萬,有的人月收入一萬。當然那些人都是全職在玩今日頭條,但對於我們來說,利用業余時間每個月賺幾千還是很輕松的。就已今日頭條來說,你過了新手期,就會自動幫你開通頭條廣告。也就是說你以後發布的文章、視頻、圖集只要有閱讀量就會有收益。今日頭條視頻一萬點擊量的單價是在 3-4 元左右,如果你開通原創之後一萬點擊量單價則高達 10-12 元。

『肆』 :聽到兩個程序員聊天——A:「借我1000塊。」B:「拿去,1024塊,我給你湊了個整兒。」 ——我

程序員認為 千(k) == 1024.

例: 程序員換算表: 1km == 1024m, 1kg == 1024g.

因: 成因很曲折 計算機是二進制的世界 -> 1024是2的10次方 -> 英語里用kilo一詞來表示 -> kilo翻譯成中文是」千」, 比如千米, 千克.

評: 也許一般人會認為500, 1000是很整的數, 但程序員會覺得512, 1024是很整的數. 不要奇怪, 如果128, 256, 512 這種形式看著不夠整, 幫你轉換成二進制: 10000000, 100000000, 1000000000…

『伍』 C++ 編程,編寫一個收銀員程序以計算購物清單的總價格,最終輸入「 END」表示結束,求代碼

#include <iostream>

#include <map>

#include <string>

using namespace std;

int main() {

int Q;

double U, sum = 0;

string N, Find;

map<string, map<double, int>> item;

while (cin >> N) {

if (N == "END")

break;

cin >> U >> Q;

sum += U * Q;

item.insert(make_pair(N, map<double, int> {{U, Q}}));

}


cout << sum << endl;

cin >> Find;

map<string, map<double, int>>::iterator iter;

iter = item.find(Find);

cout << (iter->second.begin()->second) << endl;

return 0;

}

『陸』 一名優秀的JAVA程序員平常一天至少寫多少行代碼

優秀的JAVA程序員平常一天至少寫150行代碼,普通的JAVA程序員,平均一天的有效代碼量大概是50~70行, 注意是有效代碼。

閱讀全文

與程序員寫1000個if相關的資料

熱點內容
怎麼在app上找市盈率低的股票 瀏覽:801
加密貨幣市場降溫 瀏覽:874
java獲取bean的屬性 瀏覽:916
yeah郵箱伺服器地址和域 瀏覽:280
安卓手機如何打開錄制功能 瀏覽:584
小孩想學音樂編程從哪裡學起 瀏覽:111
totolink路由器加密 瀏覽:476
虛擬機文本編譯 瀏覽:988
電影是如何壓縮的 瀏覽:820
du命令用法 瀏覽:663
怎麼在虛擬機創建ftp伺服器 瀏覽:5
Mac站點文件夾什麼意思 瀏覽:906
壓縮彈簧汽車 瀏覽:329
伺服器x6什麼意思 瀏覽:587
雷凌車載導航怎麼安裝app 瀏覽:162
安卓工程中如何編譯程序 瀏覽:91
k8spod日誌文件夾 瀏覽:515
脫字元python 瀏覽:849
程序員寫1000個if 瀏覽:128
安裝ubuntu命令 瀏覽:936