Python入门认知学习程序
01- sum.py
"""整數(shù)求和"""
n = int(input("請輸入一個整數(shù):")) sum = 0 for i in range(n):sum += i print("1~%d 的求和結(jié)果為%d"%(n,sum)) ?Python中使用input()函數(shù)獲取數(shù)據(jù)都是字符串類型,需要使用轉(zhuǎn)化函數(shù)將字符串轉(zhuǎn)為目標類型。使用變量時,不需要聲明變量類型。
02- sort.py
"""輸入三個整數(shù),把這三個數(shù)由小到大輸出"""
l = [] for i in range(3):x = int(input("請輸入一個整數(shù):"))l.append(x) l.sort() print(l) ?Python中有許多的數(shù)據(jù)結(jié)構(gòu),如列表,元組,字典,集合,它們在聲明時分別使用[]、()、{}、{}。 在使用時需要注意各自的特性
03 - 99list.py
"""99 乘法表"""
? for i in range(1, 10):for j in range(1, i + 1):print("%d*%d=%-2d" % (j, i, j * i), end=" ")print("") ?range()方法可以于for循環(huán),并且是左閉右開原則 ,并且根據(jù)參數(shù)可以實現(xiàn)不同的遍歷順序,如range(10,-1,1),就可以從10遍歷到0。
04- pentagrams.py
"""重疊五角星"""
import turtle as t ? def draw_fiveStars(leng):count = 1while count <= 5:t.forward(leng)t.right(144)count += 1leng += 10if leng <= 100:draw_fiveStars(leng) ? def main():t.penup()t.backward(100)t.pendown()t.pensize(2)t.pencolor('red')segment = 50draw_fiveStars(segment)t.exitonclick() ? if __name__ == "__main__":main() ?python中有許多的庫。在python中聲明函數(shù),對于參數(shù)不會指定類型,也不會對返回類型進行說明。在調(diào)用時可以參數(shù)有多種傳遞方式,在這個例子中參數(shù)還可以用draw_fiveStars(leng=segment)進行傳遞。
5- fiboSeq.py
"""使用列表實現(xiàn)斐波那契數(shù)列""" l
l = [1,2] n = int(input("斐波那契數(shù)列長度:")) while(len(l)<n):l.append(l[len(l)-1]+l[len(l)-2]) print(l) ?感想:在本例中使用列表這一數(shù)據(jù)結(jié)構(gòu),列表增加元素時使用的是append()方法。python中接收用戶輸入數(shù)據(jù)使用的是input()方法,在使用時可以向input()方法中傳遞字符串參數(shù),在運行,字符串信息被打出來。input()方法接受用戶輸入的數(shù)據(jù)后,返回的是字符串類型,如需使用,需要進行類型轉(zhuǎn)換。
06- finaNum.py
若一個數(shù)剛好等于它因子之和,那么這個數(shù)就稱為“完數(shù)”。例如 6=1+2+3。編程打印 1000 以內(nèi)的所有完數(shù)
from sys import stdout for j in range(2,1001):k = []n = -1s = jfor i in range(1,j):if j%i == 0:n += 1s -= ik.append(i)if s==0:print(j)for i in range(n):stdout.write(str(k[i]))stdout.write(' ')print(k[n])break ?感想:python中有多種方式導(dǎo)入模塊,本題還可用” from sys import stdout as st“ ,可以根據(jù)需要選擇。在本題中沒有在 “if s==0:”的代碼段里加break,會導(dǎo)致重復(fù)打印數(shù)字。
07 age.py
有 5 個人坐在一起,問第五個人多少歲?他說比第 4 個人大 2 歲。問第 4 個人歲數(shù),
他說比第 3 個人大 2 歲。問第三個人,又說比第 2 人大兩歲。問第 2 個人,說比第一個人大
def age(n):if n==1:c=10else:c=age(n-1)+2return c print(age(5)) ?感想:本題中使用 "if" 結(jié)構(gòu),在剛開始使用時,會經(jīng)常多次一舉的的加上 ()和{}。在python中的函數(shù)聲明都需要使用關(guān)鍵字 “def”,返回的數(shù)據(jù)不需要進行說明。
8 倒序輸出列表 ls 中的值。
ls=['one','two','three'] for i in ls[::-1]:print(i) ?感想:python中 [::-1]表示對象的元素進行倒敘輸出。經(jīng)過查詢資料,有a[i:j:s],根據(jù)各個參數(shù)的狀況,可以實現(xiàn)不同的效果。如b=a[1:],表示將1-len(b)的數(shù)據(jù)復(fù)制給b,當i缺省時,默認為0,即 a[:3]相當于 a[0:3]。
9.what
import turtleninja = turtle.Turtle() ninja.speed(1000) for i in range(180):ninja.forward(100)ninja.right(30)ninja.forward(20)ninja.left(60)ninja.forward(50)ninja.right(30)ninja.penup()ninja.setposition(0, 0)ninja.pendown()ninja.right(2) turtle.done()感想:經(jīng)過查詢資料,turtle庫是Python語言中一個很流行的繪制圖像的函數(shù)庫,在使用時有許多方法可供使用。在將代碼復(fù)現(xiàn)到pycharm中時,根據(jù)“ninja.speed(1000)”猜測可能是控制繪畫速度,然后繼續(xù)更改代碼中的參數(shù),得到了許多不同的圖案。
10 drawClock
from turtle import * from datetime import *def Skip(step):penup()forward(step)pendown()# 建立鐘表的外框 def setupClock(radius):reset()pensize(7)for i in range(60):Skip(radius)if i % 5 == 0:forward(20)Skip(-radius - 20)else:dot(5)Skip(-radius)right(6)# 注冊 turtle 形狀,建立名字為 name 的形狀 def makeHand(name, length):reset()Skip(-0.1 * length)# 開始記錄多邊形的頂點begin_poly()forward(1.1 * length)# 停止記錄多邊形的頂點,并與第一個頂點相連end_poly()# 返回最后記錄的多邊形handForm = get_poly()# 注冊形狀,命名為 nameregister_shape(name, handForm)def init():global secHand, minHand, hurHand, printer# 重置 turtle 指針向北mode("logo")secHand = Turtle()makeHand("secHand", 125)secHand.shape("secHand")minHand = Turtle()makeHand("minHand", 130)minHand.shape("minHand")hurHand = Turtle()makeHand("hurHand", 90)hurHand.shape("hurHand")# shapesize 第一個參數(shù)沒看到什么用,第二個參數(shù)表示幾倍的長度,第 3 個參數(shù)表示 3倍的寬度# speed(0)是最快for hand in secHand, minHand, hurHand:hand.shapesize(1, 1, 3)hand.speed(0)# 建立并輸出文字的 turtle 對象,printer 對象只是顯示文字不顯示路徑,所以一直是penup和hideturtleprinter = Turtle()printer.hideturtle()printer.penup()def Week(t):week = ["星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期七"]return week[t.weekday()]def Day(t):return "%s %d %d" % (t.year, t.month, t.day)def Tick():t = datetime.today()second = t.second + t.microsecond * 0.000001minute = t.minute + t.second / 60.0hour = t.hour + t.minute / 60.0secHand.setheading(second * 6)minHand.setheading(minute * 6)hurHand.setheading(hour * 30)tracer(False)printer.fd(70)printer.write(Week(t), align = "center", font = ("Courier", 14, "bold"))printer.back(130)printer.write(Day(t), align = "center", font = ("Courier", 14, "bold"))printer.home()tracer(True)ontimer(Tick, 100) # 100ms 后繼續(xù)調(diào)用 Tickdef main():# 關(guān)閉動畫tracer(False)init()setupClock(200)# 開啟動畫tracer(True)Tick()done() main()感想:這段代碼實現(xiàn)了一個模擬時鐘,根據(jù)注釋和方法的中文含義可以知道一些方法的作用。在復(fù)現(xiàn)代碼時對于函數(shù)的傳參有了更多掌握和理解。
11 大愛心
from turtle import *pensize(1) pencolor('red') fillcolor('pink') speed(5) up() goto(-30, 100) down() begin_fill() left(90) circle(120, 180) circle(360, 70) left(38) circle(360, 70) circle(120, 180) end_fill() up() goto(-100, -100) down()感想:這段代碼比之前的代碼要少許多,“pencolor('red')”和“fillcolor('pink')”可以猜出是紅色的輪廓線和粉紅的填充色。其他的還需要進行學(xué)習(xí)后才能搞明白。
12 函數(shù)曲線
import numpy as np import matplotlib.pyplot as pltX = np.linspace(-4, 4, 1024) Y = .25 * (X + 4.) * (X + 1.) * (X - 2.) plt.title('$f(x)=\\frac{1}{4}(x+4)(x+1)(x-2)$') plt.plot(X, Y, c = 'g') plt.show()感想:
13 愛心紛飛 randomHearts.py
import turtle as t import random as rdef randomcolor():color = (r.random(), r.random(), r.random())return colordef pink():color = (1, r.random(), 1)return colordef randomrange(min, max):return min + (max - min) * r.random()def moveto(x, y):t.penup()t.goto(x, y)t.pendown()def heart(r, a):factor = 180t.seth(a)t.circle(-r, factor)t.fd(2 * r)t.right(90)t.fd(2 * r)t.circle(-r, factor) # set canvas dimension t.setup(800, 800, 200, 200) t.speed(9) t.pensize(1) t.pencolor(randomcolor()) t.fillcolor(randomcolor()) t.penup() for i in range(20):t.goto(randomrange(-300, 300), randomrange(-300, 300))t.begin_fill()t.fillcolor(pink())heart(randomrange(10, 50), randomrange(0, 90))t.end_fill() moveto(400, -400)感想:這是個人覺得最有意思得一個案例。在復(fù)刻是發(fā)現(xiàn)使用大部分使用的都是庫自帶的方法,自己只需設(shè)置好參數(shù)就行,說明了python庫的強大和簡潔。
14簡述程序開發(fā)的各個階段
問題的定義及規(guī)劃 此階段是軟件開發(fā)與需求放共同討論,主要確定軟件的開發(fā)目標及其可行性。
需求分析 在確定軟件開發(fā)可行性的情況下,對軟件需要實現(xiàn)的各個功能進行詳細需求分析。需必須定制需求變更計劃來應(yīng)付這種變化,以保護整個項目的正常進行。
軟件設(shè)計 此階段中偶要根據(jù)需求分析的結(jié)果,對整個軟件系統(tǒng)進行設(shè)計,如系統(tǒng)框架設(shè)計、數(shù)據(jù)庫設(shè)計等。軟件設(shè)計一般分為總體設(shè)計和詳細設(shè)計。
程序編碼 此階段是將軟件設(shè)計的結(jié)果轉(zhuǎn)化為計算機可運行的程序代碼。在程序編碼中必定要制定統(tǒng)一、符合標準的編寫規(guī)范。以保證程序的可讀性、易維護性。提高程序的運行效率。
軟件測試 在軟件設(shè)計完成之后要進行嚴密的測試,一發(fā)現(xiàn)軟件在整個軟件設(shè)計過程中存在的問題并加以糾正。整個測試階段分為單元測試、組裝測試、系統(tǒng)測試三個階段進行。測試方法主要有白盒測試和黑盒測試。
15 程序編寫的基本方法。
1.確定IPO
⒉編寫程序
3.調(diào)試程序
總結(jié)
以上是生活随笔為你收集整理的Python入门认知学习程序的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android gravity参数,an
- 下一篇: android中gravity什么意思,