python編程基礎與案例集錦,python編程入門經典

大家好,本文將圍繞python編程基礎與案例集錦展開說明,python編程入門與案例詳解是一個很多人都想弄明白的事情,想搞清楚python入門程序例子需要先了解以下幾個事情。

?

【程序1】

題目:輸入一行字符,分別統計出其中英文字母、空格、數字和其它字符的個數。

1#!/usr/bin/python

2#-*- coding:utf-8 -*-

3#there is no ++ operator in Python

4importstring

5defmain():

6s = raw_input('input a string:')

7letter =

8space =

9digit =

10other =

11forcins:

12ifc.isalpha():

13letter+=1

14elifc.isspace():

15space+=1

16elifc.isdigit():

17digit+=1

18else:

19other+=1

20print'There are %d letters,%d spaces,%d digits and %d other characters in your string.'%(letter,space,digit,other)

21

22if__name__=='__main__':

23main()

【程序2】

題目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一個數字火車頭采集器偽原創。例如2+22+222+2222+22222(此時共有5個數相加),幾個數相加有鍵盤控制。

【程序3】

題目:一個數如果恰好等于它的因子之和,這個數就稱為“完數”。例如6=1+2+3.編程

找出1000以內的所有完數。

'''

【程序28】

題目:有5個人坐在一起,問第五個人多少歲?他說比第4個人大2歲。問第4個人歲數,他說比第

3個人大2歲。問第三個人,又說比第2人大兩歲。問第2個人,說比第一個人大兩歲。最后

問第一個人,他說是10歲。請問第五個人多大?

'''

def fun(i):

if i==1:

return 10

return fun(i-1)+2

print fun(5)

'''

【程序29】

題目:給一個不多于5位的正整數,要求:一、求它是幾位數,二、逆序打印出各位數字。

'''

def fun(i,cnt):

if i==0:

print 'There are %d digit in the number.'%cnt

return

print i%10,

i/=10

cnt+=1

fun(i,cnt)

i = int(raw_input('Input a number:'))

fun(i,0)

'''

【程序30】

題目:一個5位數,判斷它是不是回文數。即12321是回文數,個位與萬位相同,十位與千位相同。

'''

ans=['Yes','No']

i = int(raw_input('Input a number(10000~99999):'))

if i99999:

print 'Input Error!'

else:

i = str(i)

flag = 0

for j in range(0,2):

if i[j]!=i[4-j]:

flag = 1

break

print ans[flag]

'''

【程序36】【篩選法】

題目:求100之內的素數

'''

a = [0]*101

for i in range(2,11):

for j in range(i+i,101,i):

a[j]=-1;

for i in range(2,101):

if a[i]!=-1:

print ' ',i,

'''

【程序37】

題目:對10個數進行排序

'''

print 'input 10 numbers please:'

l = []

for i in range(10):

l.append(int(raw_input('Input a number:')))

#可以直接使用sort函數:l.sort()

#也可以自己寫排序代碼(選擇排序)

for i in range(9):

for j in range(i+1,10):

if l[j]

temp = l[j]

l[j] = l[i]

l[i] = temp

print l

'''

【程序38】

題目:求一個3*3矩陣對角線元素之和

'''

l = []

for i in range(3):

for j in range(3):

l.append(int(raw_input('Input a number:')))

s = 0

for i in range(3):

s += l[3*i+i]

print s

'''

【程序39】

題目:有一個已經排好序的數組。現輸入一個數,要求按原來的規律將它插入數組中。

'''

l = [0,10,20,30,40,50]

print 'The sorted list is:',l

cnt = len(l)

n = int(raw_input('Input a number:'))

l.append(n)

for i in range(cnt):

if n

for j in range(cnt,i,-1):

l[j] = l[j-1]

l[i] = n

break

print 'The new sorted list is:',l

'''

【程序40】

題目:將一個數組逆序輸出。

'''

a = [1,2,3,4,5,6,7,8,9]

l = len(a)

print a

for i in range(l/2):

a[i],a[l-i-1] = a[l-i-1],a[i] #注意此句

print a

'''

【程序56】

題目:畫圓【Tkinter模塊】

'''

if __name__ == '__main__':

from Tkinter import *

canvas = Canvas(width=800, height=600, bg='red')

canvas.pack(expand=YES, fill=BOTH)

k = 1

j = 1

for i in range(0,26):

canvas.create_oval(310 - k,250 - k,310 + k,250 + k, width=1)

k += j

j += 0.3

mainloop()

'''

【程序57】

題目:畫直線。

1.程序分析:

2.程序源代碼:

'''

if __name__ == '__main__':

from Tkinter import *

canvas = Canvas(width=300, height=300, bg='green')

canvas.pack(expand=YES, fill=BOTH)

x0 = 263

y0 = 263

y1 = 275

x1 = 275

for i in range(19):

canvas.create_line(x0,y0,x0,y1, width=1, fill='red')

x0 = x0 - 5

y0 = y0 - 5

x1 = x1 + 5

y1 = y1 + 5

x0 = 263

y1 = 275

y0 = 263

for i in range(21):

canvas.create_line(x0,y0,x0,y1,fill = 'red')

x0 += 5

y0 += 5

y1 += 5

mainloop()

'''

【程序58】

題目:畫方形。

'''

if __name__ == '__main__':

from Tkinter import *

root = Tk()

root.title('Canvas')

canvas = Canvas(root,width = 400,height = 400,bg = 'yellow')

x0 = 263

y0 = 263

y1 = 275

x1 = 275

for i in range(19):

canvas.create_rectangle(x0,y0,x1,y1)

x0 -= 5

y0 -= 5

x1 += 5

y1 += 5

canvas.pack()

root.mainloop()

'''

題目:畫圖,綜合例子。

1.程序分析:

2.程序源代碼:

'''

if __name__ == '__main__':

from Tkinter import *

canvas = Canvas(width = 300,height = 300,bg = 'green')

canvas.pack(expand = YES,fill = BOTH)

x0 = 150

y0 = 100

canvas.create_oval(x0 - 10,y0 - 10,x0 + 10,y0 + 10)

canvas.create_oval(x0 - 20,y0 - 20,x0 + 20,y0 + 20)

canvas.create_oval(x0 - 50,y0 - 50,x0 + 50,y0 + 50)

import math

B = 0.809

for i in range(16):

a = 2 * math.pi / 16 * i

x = math.ceil(x0 + 48 * math.cos(a))

y = math.ceil(y0 + 48 * math.sin(a) * B)

canvas.create_line(x0,y0,x,y,fill = 'red')

canvas.create_oval(x0 - 60,y0 - 60,x0 + 60,y0 + 60)

for k in range(501):

for i in range(17):

a = (2 * math.pi / 16) * i + (2 * math.pi / 180) * k

x = math.ceil(x0 + 48 * math.cos(a))

y = math.ceil(y0 + 48 + math.sin(a) * B)

canvas.create_line(x0,y0,x,y,fill = 'red')

for j in range(51):

a = (2 * math.pi / 16) * i + (2* math.pi / 180) * k - 1

x = math.ceil(x0 + 48 * math.cos(a))

y = math.ceil(y0 + 48 * math.sin(a) * B)

canvas.create_line(x0,y0,x,y,fill = 'red')

mainloop()

作者:ZH奶酪——張賀

出處:http://www.cnblogs.com/CheeseZH/

聲明:文章著作權歸作者所有,如有侵權,請聯系小編刪除

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/34842.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/34842.shtml
英文地址,請注明出處:http://en.pswp.cn/news/34842.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

『CV學習筆記』Opencv和PIL Image以及base64編碼互相轉化

Opencv和PIL Image以及base64編碼互相轉化 文章目錄 一. opencv&PIL.Image&Skimage1.1. opencv-python讀取透明圖片(帶alpha通道)1.2. opencv、PIL.Image、Skimage讀取的彩色圖片維度區別1.3. opencv、PIL.Image轉換二. base64和cv2 imge互相轉換三. base64和PIL imge互…

射頻入門知識-混頻器-1

5.4混頻電路-視頻_嗶哩嗶哩_bilibili ???????

【算法題】螺旋矩陣II (求解n階Z形矩陣)

一、問題的提出 n階Z形矩陣的特點是按照之(Z)字形的方式排列元素。n階Z形矩陣是指矩陣的大小為nn,其中n為正整數。 題目描述 一個 n 行 n 列的螺旋(Z形)矩陣如圖1所示,觀察并找出填數規律。 圖1 7行7列和8行8列的螺旋(Z形)矩陣 現在給出矩陣大小 n&…

數據結構入門:棧

目錄 前言 1. 棧 1.1棧的概念及結構 1.2 棧的實現 1.2.1 棧的定義 1.2.2 棧的初始化 1.2.3 入棧 1.2.4 出棧 1.2.5 棧的元素個數 1.2.6 棧頂數據 1.2.7 棧的判空 2.棧的應用 2.1 題目一:括號匹配 2.1.1 思路 2.1.2 分析 2.1.3 題解 總結 前言 無論你是計算機科學專…

CVE漏洞復現-CVE-2021-22555 Linux Netfilter 權限提升漏洞

CVE-2021-22555 Linux Netfilter 權限提升漏洞 漏洞描述 近日,互聯網公開了Linux Netfilter權限提升漏洞的POC及EXP,相關CVE編號:CVE-2021-22555。該漏洞在kCTF中被用于攻擊kubernetes pod容器實現虛擬化逃逸,該漏洞已在Linux內…

用chatGPT從左右眼圖片生成點云數據

左右眼圖片 需求 需要將左右眼圖像利用視差生成三維點云數據 先問問chatGPT相關知識 進一步問有沒有現成的軟件 chatGPT提到了OpenCV,我們讓chatGPT用OpenCV寫一個程序來做這個事情 當然,代碼里面會有一些錯誤,chatGPT寫的代碼并不會做模…

Arduino驅動MQ2模擬煙霧傳感器(氣體傳感器篇)

目錄 1、傳感器特性 2、硬件原理圖 3、控制器和傳感器連線圖 4、驅動程序 MQ2氣體傳感器,可以很靈敏的檢測到空氣中的煙霧、液化氣、丁烷、丙烷、甲烷、酒精、氫氣等氣體,與Arduino結合使用,可以制作火災煙霧報警、液化氣、丁烷、丙烷、甲烷、酒精、氫氣氣體泄露報警等相…

面試題. 字符串壓縮

字符串壓縮。利用字符重復出現的次數,編寫一種方法,實現基本的字符串壓縮功能。比如,字符串aabcccccaaa會變為a2b1c5a3。若“壓縮”后的字符串沒有變短,則返回原先的字符串。你可以假設字符串中只包含大小寫英文字母(a…

【JavaEE進階】Spring 更簡單的讀取和存儲對象

文章目錄 一. 存儲Bean對象1. 配置掃描路徑2. 添加注解存儲 Bean 對象2.1 使用五大類注解存儲Bean2.2 為什么要有五大類注解?2.3 有關獲取Bean參數的命名規則 3. 使用方法注解儲存 Bean 對象3.1 方法注解儲存對象的用法3.2 Bean的重命名3.3 同?類型多個 Bean 報錯 …

Spring Boot單元測試與Mybatis單表增刪改查

目錄 1. Spring Boot單元測試 1.1 什么是單元測試? 1.2 單元測試有哪些好處? 1.3 Spring Boot 單元測試使用 單元測試的實現步驟 1. 生成單元測試類 2. 添加單元測試代碼 簡單的斷言說明 2. Mybatis 單表增刪改查 2.1 單表查詢 2.2 參數占位符 ${} 和 #{} ${} 和 …

學點Selenium玩點新鮮~,讓分布式測試有更多玩法

前 言 我們都知道 Selenium 是一款在 Web 應用測試領域使用的自動化測試工具,而 Selenium Grid 是 Selenium 中的一大組件,通過它能夠實現分布式測試,能夠幫助團隊簡單快速在不同的環境中測試他們的 Web 應用。 分布式執行測試其實并不是一…

opencv,opengl,osg,vulkan,webgL,opencL,cuda

OpenCV OpenCV是一個基于BSD許可(開源)發行的跨平臺計算機視覺和機器學習軟件庫,可以運行在Linux、Windows、Android和Mac OS操作系統上。 它輕量級而且高效——由一系列 C 函數和少量 C 類構成,同時提供了Python、Ruby、MATLAB等…

安卓java A應用切換到B應用,來回切換不執行OnCreate

需求:安卓java如何做到A應用切換到B應用,如果B應用沒啟動就啟動,如果B應用已經啟動就僅僅切換到B應用。B應用再切換回A應用,不要重復執行OnCreate! 在 A 應用中的: 在 A 應用中,如果你希望在切換回 B 應用…

小米平板6Max14即將發布:自研G1 電池管理芯片,支持33W反向快充

明天晚上7點(8 月 14 日),雷軍將進行年度演講,重點探討“成長”主題。與此同時,小米將推出一系列全新產品,其中包括備受矚目的小米MIX Fold 3折疊屏手機和小米平板6 Max 14。近期,小米官方一直在…

分布式搜索ElasticSearch-ES(一)

一、ElasticSearch介紹 ES是一款非常強大的開源搜索引擎,可以幫我們從海量的數據中快速找到我們需要的內容。 ElasticSearch結合kibana、Logstash、Beats,也就是elastic stack(ELK),被廣泛運用在日志數據分析,實時監控等領域。 …

accumulate函數的簡單應用

accumulate函數是C numeric庫中的一個函數&#xff0c;主要用來對指定范圍內元素求和&#xff0c;但也自行指定一些其他操作&#xff0c;如范圍內所有元素相乘、相除等。 使用前需要引用頭文件&#xff1a; #include <numeric>函數共有四個參數&#xff0c;其中前三個為…

Ajax 筆記(二)—— Ajax 案例

筆記目錄 2. Ajax 綜合案例2.1 案例一-圖書管理2.1.1 渲染列表2.1.2 新增圖書2.1.3 刪除圖書2.1.4 編輯圖書 2.2 案例二-背景圖的上傳和更換2.2.1 上傳2.2.2 更換 2.3 案例三-個人信息設置2.3.1 信息渲染2.3.2 頭像修改2.2.3 信息修改2.3.4 提示框 Ajax 筆記&#xff1a; Ajax…

React Native 列表組件基礎知識

ScrollView 組件 ScrollView組件是一個容器滾動組件&#xff0c;當容器超出指定寬高時就可以進行滾動交互。 ScrollView組件是一次性渲染所有的 React 子組件&#xff0c;這在性能上是比較差的&#xff0c;所以不建議當列表特別長的時候使用此組件。 接下來列舉幾個常用的一…

HTML(JavaEE初級系列12)

目錄 前言&#xff1a; 1.HTML結構 1.1認識HTML標簽 1.2HTML文件基本結構 1.3標簽層次結構 1.4快速生成代碼框架 2.HTML常見標簽 2.1注釋標簽 2.2標題標簽&#xff1a;h1-h6 2.3段落標簽&#xff1a;p 2.4換行標簽&#xff1a; br 2.5格式化標簽 2.6圖片標簽&#…

【數據結構?堆】經典問題:k路歸并

題目描述 k路歸并問題&#xff1a;   把k個有序表合并成一個有序表。&#xff08; k < 10^4 &#xff09; 輸入輸出格式 輸入格式&#xff1a; 輸入數據共有 2*k1 行。   第一行&#xff0c;一個整數k&#xff08; k < 10^4 &#xff09;&#xff0c;表示有k個有序…