python練手經典100例微盤_20個Python練手經典案例,能全做對的人確實很少!

100個Python練手小程序,學習python的很好的資料,覆蓋了python中的每一部分,可以邊學習邊練習,更容易掌握python。

如果你感覺學不會?莫慌,小編推薦大家加入群,

前面548中間377后面875,群里有志同道合的小伙伴,

互幫互助,還可以拿到許多視頻教程!

【程序1】

題目:有1、2、3、4個數字,能組成多少個互不相同且無重復數字的三位數?都是多少?

1.程序分析:可填在百位、十位、個位的數字都是1、2、3、4。組成所有的排列后再去

掉不滿足條件的排列。

2.程序源代碼:

for i in range(1,5):

for j in range(1,5):

for k in range(1,5):

if( i != k ) and (i != j) and (j != k):

print i,j,k

【程序2】

題目:企業發放的獎金根據利潤提成。利潤(I)低于或等于10萬元時,獎金可提10%;利潤高

于10萬元,低于20萬元時,低于10萬元的部分按10%提成,高于10萬元的部分,可可提

成7.5%;20萬到40萬之間時,高于20萬元的部分,可提成5%;40萬到60萬之間時高于

40萬元的部分,可提成3%;60萬到100萬之間時,高于60萬元的部分,可提成1.5%,高于

100萬元時,超過100萬元的部分按1%提成,從鍵盤輸入當月利潤I,求應發放獎金總數?

1.程序分析:請利用數軸來分界,定位。注意定義時需把獎金定義成長整型。

2.程序源代碼:

bonus1 = 100000 * 0.1

bonus2 = bonus1 + 100000 * 0.500075

bonus4 = bonus2 + 200000 * 0.5

bonus6 = bonus4 + 200000 * 0.3

bonus10 = bonus6 + 400000 * 0.15

i = int(raw_input('input gain: '))

if i

bonus = i * 0.1

elif i

bonus = bonus1 + (i - 100000) * 0.075

elif i

bonus = bonus2 + (i - 200000) * 0.05

elif i

bonus = bonus4 + (i - 400000) * 0.03

elif i

bonus = bonus6 + (i - 600000) * 0.015

else:

bonus = bonus10 + (i - 1000000) * 0.01

print 'bonus = ',bonus

【程序3】

題目:一個整數,它加上100后是一個完全平方數,再加上168又是一個完全平方數,請問該數是多少?

1.程序分析:在10萬以內判斷,先將該數加上100后再開方,再將該數加上268后再開方,如果開方后

的結果滿足如下條件,即是結果。請看具體分析:

2.程序源代碼:

include "math.h"

main()

{

long int i,x,y,z;

for (i=1;i

{ x=sqrt(i+100);   /*x為加上100后開方后的結果*/

y=sqrt(i+268);   /*y為再加上168后開方后的結果*/

if(x*x==i+100&&y*y==i+268)/*如果一個數的平方根的平方等于該數,這說明此數是完全平方數*/

printf(" %ld ",i);

}

}

'''

import math

for i in range(10000):

#轉化為整型值

x = int(math.sqrt(i + 100))

y = int(math.sqrt(i + 268))

if(x * x == i + 100) and (y * y == i + 268):

print i

題目:輸入某年某月某日,判斷這一天是這一年的第幾天?

1.程序分析:以3月5日為例,應該先把前兩個月的加起來,然后再加上5天即本年的第幾天,特殊

情況,閏年且輸入月份大于3時需考慮多加一天。

2.程序源代碼:

year = int(raw_input('year: '))

month = int(raw_input('month: '))

day = int(raw_input('day: '))

months = (0,31,59,90,120,151,181,212,243,273,304,334)

if 0

sum = months[month - 1]

else:

print 'data error'

sum += day

leap = 0

if (year % 400 == 0) or ((year % 4 == 0) and (year % 100 != 0)):

leap = 1

if (leap == 1) and (month > 2):

sum += 1

print 'it is the %dth day.' % sum

【程序5】

題目:輸入三個整數x,y,z,請把這三個數由小到大輸出。

1.程序分析:我們想辦法把最小的數放到x上,先將x與y進行比較,如果x>y則將x與y的值進行交換,

然后再用x與z進行比較,如果x>z則將x與z的值進行交換,這樣能使x最小。

2.程序源代碼:

l = []

for i in range(3):

x = int(raw_input('integer: '))

l.append(x)

l.sort()

print l

【程序6】

題目:用*號輸出字母C的圖案。

1.程序分析:可先用’*’號在紙上寫出字母C,再分行輸出。

2.程序源代碼:

print 'Hello Python world! '

print '*' * 10

for i in range(5):

print '* *'

print '*' * 10

print '* ' * 6

【程序7】

題目:輸出特殊圖案,請在c環境中運行,看一看,Very Beautiful!

1.程序分析:字符共有256個。不同字符,圖形不一樣。

2.程序源代碼:

a = 176

b = 219

print chr(b),chr(a),chr(a),chr(a),chr(b)

print chr(a),chr(b),chr(a),chr(b),chr(a)

print chr(a),chr(a),chr(b),chr(a),chr(a)

print chr(a),chr(b),chr(a),chr(b),chr(a)

print chr(b),chr(a),chr(a),chr(a),chr(b)

【程序8】

題目:輸出9*9口訣。

1.程序分析:分行與列考慮,共9行9列,i控制行,j控制列。

2.程序源代碼:

include "stdio.h"

main()

{

int i,j,result;

printf(" ");

for (i=1;i

{ for(j=1;j

{

result=i*j;

printf("%d*%d=%-3d",i,j,result);/*-3d表示左對齊,占3位*/

}

printf(" ");/*每一行后換行*/

}

}

for i in range(1,10):

for j in range(1,10):

result = i * j

print '%d * %d = % -3d' % (i,j,result)

print ''

【程序9】

題目:要求輸出國際象棋棋盤。

1.程序分析:用i控制行,j來控制列,根據i+j的和的變化來控制輸出黑方格,還是白方格。

2.程序源代碼:

include "stdio.h"

main()

{

int i,j;

for(i=0;i

{

for(j=0;j

if((i+j)%2==0)

printf("%c%c",219,219);

else

printf(" ");

printf(" ");

}

}

import sys

for i in range(8):

for j in range(8):

if(i + j) % 2 == 0:

sys.stdout.write(chr(219))

sys.stdout.write(chr(219))

else:

sys.stdout.write(' ')

print ''

【程序10】

題目:打印樓梯,同時在樓梯上方打印兩個笑臉。

1.程序分析:用i控制行,j來控制列,j根據i的變化來控制輸出黑方格的個數。

2.程序源代碼:

import sys

sys.stdout.write(chr(1))

sys.stdout.write(chr(1))

print ''

for i in range(1,11):

for j in range(1,i):

sys.stdout.write(chr(219))

sys.stdout.write(chr(219))

print ''

【程序11】

題目:古典問題:有一對兔子,從出生后第3個月起每個月都生一對兔子,小兔子長到第三個月

后每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數為多少?

1.程序分析: 兔子的規律為數列1,1,2,3,5,8,13,21….

2.程序源代碼:

main()

{

long f1,f2;

int i;

f1=f2=1;

for(i=1;i

{ printf("%12ld %12ld",f1,f2);

if(i%2==0) printf(" ");/*控制輸出,每行四個*/

f1=f1+f2; /*前兩個月加起來賦值給第三個月*/

f2=f1+f2; /*前兩個月加起來賦值給第三個月*/

}

}

f1 = 1

f2 = 1

for i in range(1,21):

print '%12d %12d' % (f1,f2)

if (i % 2) == 0:

print ''

f1 = f1 + f2

f2 = f1 + f2

【程序12】

題目:判斷101-200之間有多少個素數,并輸出所有素數。

1.程序分析:判斷素數的方法:用一個數分別去除2到sqrt(這個數),如果能被整除,

則表明此數不是素數,反之是素數。

2.程序源代碼:

h = 0

leap = 1

from math import sqrt

from sys import stdout

for m in range(101,201):

k = int(sqrt(m + 1))

for i in range(2,k + 1):

if m % i == 0:

leap = 0

break

if leap == 1:

print '%-4d' % m

h += 1

if h % 10 == 0:

print ''

leap = 1

print 'The total is %d' % h

【程序13】

題目:打印出所有的“水仙花數”,所謂“水仙花數”是指一個三位數,其各位數字立方和等于該數

本身。例如:153是一個“水仙花數”,因為153=1的三次方+5的三次方+3的三次方。

1.程序分析:利用for循環控制100-999個數,每個數分解出個位,十位,百位。

2.程序源代碼:

for n in range(100,1001):

i = n / 100

j = n / 10 % 10

k = n % 10

if i * 100 + j * 10 + k == i + j ** 2 + k ** 3:

print "%-5d" % n

【程序14】

題目:將一個正整數分解質因數。例如:輸入90,打印出90=2*3*3*5。

程序分析:對n進行分解質因數,應先找到一個最小的質數k,然后按下述步驟完成:

(1)如果這個質數恰等于n,則說明分解質因數的過程已經結束,打印出即可。

(2)如果nk,但n能被k整除,則應打印出k的值,并用n除以k的商,作為新的正整數你n,

重復執行第一步。

(3)如果n不能被k整除,則用k+1作為k的值,重復執行第一步。

2.程序源代碼:

from sys import stdout

n = int(raw_input("input number: "))

print "n = %d" % n

for i in range(2,n + 1):

while n != i:

if n % i == 0:

stdout.write(str(i))

stdout.write("*")

n = n / i

else:

break

print "%d" % n

【程序15】

題目:利用條件運算符的嵌套來完成此題:學習成績>=90分的同學用A表示,60-89分之間的用B表示,

60分以下的用C表示。

1.程序分析:(a>b)?a:b這是條件運算符的基本例子。

2.程序源代碼:

不支持這個運算符

score = int(raw_input('input score: '))

if score >= 90:

grade = 'A'

elif score >= 60:

grade = 'B'

else:

grade = 'C'

print '%d belongs to %s' % (score,grade)

【程序17】

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

1.程序分析:利用while語句,條件為輸入的字符不為’ ’.

2.程序源代碼:

import string

s = raw_input('input a string: ')

letters = 0

space = 0

digit = 0

others = 0

for c in s:

if c.isalpha():

letters += 1

elif c.isspace():

space += 1

elif c.isdigit():

digit += 1

else:

others += 1

print 'char = %d,space = %d,digit = %d,others = %d' % (letters,space,digit,others)

題目:求s=a+aa+aaa+aaaa+aa…a的值,其中a是一個數字。例如2+22+222+2222+22222(此時

共有5個數相加),幾個數相加有鍵盤控制。

1.程序分析:關鍵是計算出每一項的值。

2.程序源代碼:

Tn = 0

Sn = []

n = int(raw_input('n = : '))

a = int(raw_input('a = : '))

for count in range(n):

Tn = Tn + a

a = a * 10

Sn.append(Tn)

print Tn

Sn = reduce(lambda x,y : x + y,Sn)

print Sn

【程序19】

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

找出1000以內的所有完數。

1. 程序分析:請參照程序

2.程序源代碼:

from sys import stdout

for j in range(2,1001):

k = []

n = -1

s = j

for i in range(1,j):

if j % i == 0:

n += 1

s -= i

k.append(i)

if s == 0:

print j

for i in range(n):

stdout.write(k[i])

stdout.write(' ')

print k[n]

【程序20】

題目:一球從100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在

第10次落地時,共經過多少米?第10次反彈多高?

1.程序分析:見下面注釋

2.程序源代碼:

Sn = 100.0

Hn = Sn / 2

for n in range(2,11):

Sn += 2 * Hn

Hn /= 2

print 'Total of road is %f' % Sn

print 'The tenth is %f meter' % Hn

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

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

相關文章

小紅帽linux各功能中英,英文短劇《小紅帽》劇本臺詞完整版---中英對照文本版...

大灰狼和小紅帽的故事紅帽第一場:小紅帽家 媽媽: (媽媽拿著一個籃子,把桌子上的水果放在籃子里) 小紅帽唱著歌,歡快地跑進來)Hi,mummy, what are you doing? 嘿,媽媽 你在什么? 媽媽: (一邊把水…

uipath循環datatable_UiPath之DataTable轉換為List和Array

今天給大家分享一下,如何將DataTable轉為List和Array,為此小U也花了不少時間研究,最后發現沒有那么復雜。先來說說List和Array的區別:List:就像一個鏈條,存儲數據的空間可以不連續。Array:就像一…

python批量下載文件教程_Python抓包菜鳥教程:批量下載圖片的方法,電腦和手機都能用...

筆者看上了一組圖集,然后準備一張一張下載時,瞄了一眼,這組圖集還有100,好吧,我酸了。 筆者就是試試工具,你們別像我這樣用,這么好的工具,做自媒體,那絕對了那如何批量下…

esxi掛載Linux的nfs盤,ESXi安裝centos7掛載群暉NFS

前段時間折騰了ESXi,然后無盡的折騰接踵而來,今天要說的是如何安裝centos7并掛載群暉虛擬機的NFS共享文件夾直接步入正題!先是下載centos7鏡像,因為我是用來當服務器的,所以只需要minimal版即可【centos下載鏈接】自己…

python使用的編輯器_我用過的最好的python編輯器PyScripter

用了IDLE, PythonWin等幾個python編輯器,在代碼補全、參數提示等功能上都非常不滿意。 終于找到PyScripter并且試用了一下,代碼補全、參數提示等功能非常強大。這個功能其實非常重要,可以大大提高開發效率,減少出錯。很滿意.PyScr…

linux is not unix由來,一些奇怪的 unix 指令名字的由來(轉)

一些奇怪的 unix 指令名字的由來(轉)[more]一些奇怪的 unix 指令名字的由來awk "Aho Weinberger and Kernighan"這個語言以作者 Al Aho, Peter Weinberger 和 Brian Kernighan 的姓來命名。grep "Global Regular Expression Print"grep 來自 ed 的列印所…

python discuz_pythonDiscuz發帖器的實現

網絡技術需要大家共同分享,不能閉門造車,下面是bj-dnsCom提示:首先要清楚discuz論壇發帖的流程,簡單地說就是以下流程:進入登錄頁 ->登錄 -> 進入版面 ->發帖 首先要清楚discuz論壇發帖的流程,簡單地說就是以…

基于linux的業設計課題,基于linux下智能手機的設計與制作 畢業設計.doc

本科生畢業論文(設計)題 目: 基于linux下智能手機的設計與制作目錄1. 緒論11.1 嵌入式系統的應用前景11.2linux操作系統21.2.1Linux介紹22.硬件、軟件介紹32.1S3c2440知識32.1.1S3c2440系統結構介紹32.1.2arm實驗儀介紹72.2 GPRS無線模組92.2.1 GPRS概述及工作原理9…

excel文件導入hive亂碼_將excel中的數據導入hive

步驟一:將excel另存為txt文檔(文本文件(制表符分割))假設名字為CompanyCode.txt步驟二,將該txt文件導入Linux指定目錄中步驟三,轉換編碼格式,在指定目錄下執行如下命令:piconv -f gb2312 -t UTF-8 CompanyCode.txt &g…

傳統的6d位姿估計fangfa1_李飛飛團隊最新論文:基于anchor關鍵點的類別級物體6D位姿跟蹤...

點擊上方“3D視覺工坊”,選擇“星標”干貨第一時間送達簡介作者提出了一種基于RGB-D的深度學習方法6PACK,能夠實時的跟蹤已知類別物體。通過學習用少量的3D關鍵點來簡潔地表示一個物體,基于這些關鍵點,通過關鍵點匹配來估計物體在…

c語言的程序結構語序,第3章 C語序結構.doc

第3章 C語序結構第三章 基本語句本章要求:1.表達式語句,空語句,復合語句2.數據的輸入與輸出,輸入,輸出函數的調用C語句概述C程序的執行部分是由語句組成的。 程序的功能也是由執行語句實現的。3.1 賦值語句賦值語句: 是由賦值表達式再加上分號構成的表達…

安卓system鏡像分區_玩機愛好者想要的PT分區到底是什么?可以使現有的安卓系統更快!...

小編第一次看見PT分區這個詞。就比較好奇他到底是什么神仙技術。今天,小編給大家科普一下,可能小編理解的也不是特別準確,請各位諒解!! 歡迎關注小編。各位玩機愛好者總是沉浸在各種ROM包、第三發Rec,以及各…

計算器軟件C語言課程設計實驗報告,c簡單計算器實驗報告_相關文章專題_寫寫幫文庫...

時間:2019-05-15 12:55:15 作者:admin計算器實驗報告班級: 07計本(1)班姓名: 王林學號: 20706031047指導老師: 韓靜一、 需求分析(1)制作一個計算器界面工程,有數字運算符等鍵,輸入表…

python求和1到100_python等差數列求和公式前 100 項的和實例

python等差數列求和公式前 100 項的和實例 最近跑去學了下python,一個很簡單的題,結果發現數學公示忘了,在不用for循環的情況下居然有些懵,記錄為下.. 題:等差數列可以定義為每一項與它的前一項的差等于一個常數,可以用…

android mqtt詳解_Android mqtt入門 Android studio(轉)

Android mqtt入門 Android studio2018年04月09日 14:02:30 hbw020 閱讀數:1564分享 mqtt簡單使用介紹:1、as創建工程2、官網下載mqtt支持包放入lib文件,點擊打開鏈接,https://repo.eclipse.org/content/repositories/paho-release…

jupyter kernel_新鄉聯通案例分享:Jupyter開發環境配置的常用技巧

Jupyter開發環境配置的常用技巧新鄉聯通網管中心 邢少華Python開發環境中,大部分人使用的是Jupyter,在Jupyter中有幾個令人困擾的問題:1. Jupyter的默認打開目錄如何修改2. Jupyter默認使用的瀏覽器如何修改3. 好用的Jupyter插件如何安裝4.…

東北大學c語言及程序設計,東大20秋學期《C語言及程序設計》在線平時作業1參考...

20秋學期《C語言及程序設計》在線平時作業1( j- V: Z* f0 i V& k% b, S. ?/ _8 ~1.[單選題] 在C語言中,引用數組元素時,其數組下標的數據類型允許是()。2 6 g, p1 C$ P; B$ _( J附件是答案,核對題目下載4 m1 F; D: R* q; AA.整型常量- _…

mac安裝ipython_Mac下安裝ipython與jupyter

IPython從Python發展而來,更傾向于科學計算。互聯網數據分析更喜歡用。首先切換root用戶:sudo su -pip3自動安裝ipythonMacBook-Pro:~ root# pip3 install ipython自動安裝完成后建立軟連接,方便使用MacBook-Pro:bin root# ln -s /Library/Fr…

二叉樹 中序遍歷 python_LeetCode 105 樹 從前序與中序遍歷序列構造二叉樹(Medium)

17(105) 從前序與中序遍歷序列構造二叉樹(Medium)描述根據一棵樹的前序遍歷與中序遍歷構造二叉樹。注意: 你可以假設樹中沒有重復的元素。示例例如,給出前序遍歷 preorder [3,9,20,15,7] 中序遍歷 inorder [9,3,15,20,7]返回如下的二叉樹:3/ 9 20/ 1…

c語言刪除雙向鏈表重復元素,求一個雙向鏈表的建立,插入刪除的c語言程序完整版的,借鑒一下思想,再多說一下就是能運行的那種...

最佳答案//鏈表的操作編輯//線性表的雙向鏈表存儲結構typedef struct DuLNode{ElemType data;struct DuLNode *prior,*next;}DuLNode,*DuLinkList;////帶頭結點的雙向循環鏈表的基本操作void InitList(DuLinkList L){ /* 產生空的雙向循環鏈表L */L(DuLinkList)malloc(sizeof(D…