国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

python小程序代碼50 到100行,python編程100個(gè)小程序

這篇具有很好參考價(jià)值的文章主要介紹了python小程序代碼50 到100行,python編程100個(gè)小程序。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

大家好,小編來(lái)為大家解答以下問(wèn)題,python小程序代碼50 到100行,python編程100個(gè)小程序,現(xiàn)在讓我們一起來(lái)看看吧!

python小程序代碼50 到100行,python編程100個(gè)小程序,人工智能

有不少同學(xué)學(xué)完Python后仍然很難將其靈活運(yùn)用。我整理 37 個(gè)Python入門的小程序用python畫(huà)滿天星的代碼。在實(shí)踐中應(yīng)用Python會(huì)有事半功倍的效果。

python小程序代碼50 到100行,python編程100個(gè)小程序,人工智能

例子1:華氏溫度轉(zhuǎn)換為攝氏溫度

華氏溫度轉(zhuǎn)攝氏溫度的公式:C = (F - 32) / 1.8。本例考察Python的加減乘除運(yùn)算符。

"""
將華氏溫度轉(zhuǎn)換為攝氏溫度
"""

f?=?float(input('輸入華氏溫度:?'))
c?=?(f?-?32)?/?1.8
print('%.1f?華氏度?=?%.1f?攝氏度'?%?(f,?c))

例子2:計(jì)算圓的周長(zhǎng)和面積

輸入半徑,計(jì)算圓的半徑和面積,圓周長(zhǎng)公式:2*π*r,面試公式:π*r^2

"""
半徑計(jì)算圓的周長(zhǎng)和面積
"""

radius?=?float(input('輸入圓的半徑:?'))
perimeter?=?2?*?3.1416?*?radius
area?=?3.1416?*?radius?*?radius
print('周長(zhǎng):?%.2f'?%?perimeter)
print('面積:?%.2f'?%?area)

例子3:實(shí)現(xiàn)一元一次函數(shù)

實(shí)現(xiàn)數(shù)學(xué)里的一元一次函數(shù):f(x) = 2x + 1

"""
一元一次函數(shù)
"""

x?=?int(input('輸入x:'))
y?=?2?*?x?+?1
print('f(%d)?=?%d'?%?(x,?y))

例子4:實(shí)現(xiàn)二元二次函數(shù)

實(shí)現(xiàn)數(shù)學(xué)里的二元二次函數(shù):f(x, y) = 2x^2 + 3y^2 + 4xy,需要用到指數(shù)運(yùn)算符**

"""
二元二次函數(shù)
"""

x?=?int(input('輸入x:'))
y?=?int(input('輸入y:'))

z?=?2?*?x?**?2?+?3?*?y?**?2?+?4?*?x?*?y
print('f(%d,?%d)?=?%d'?%?(x,?y,?z))

例子5:分離整數(shù)的個(gè)位數(shù)

將一個(gè)正整數(shù)的個(gè)位數(shù),以及除個(gè)位數(shù)外的部分分離。需要用到模(取余數(shù))運(yùn)算符%,和整除運(yùn)算符//

"""
分離整數(shù)個(gè)位數(shù)
"""

x?=?int(input('輸入整數(shù):'))

single_dig?=?x?%?10
exp_single_dig?=?x?//?10

print('個(gè)位數(shù):?%d'?%?single_dig)
print('除個(gè)位數(shù)外:?%d'?%?exp_single_dig)

例子6:實(shí)現(xiàn)一個(gè)累加器

實(shí)現(xiàn)一個(gè)簡(jiǎn)單的累加器,可以接受用戶輸入3個(gè)數(shù)字,并將其累加。需要用到復(fù)合賦值運(yùn)算符:+=

"""
累加器?v1.0
"""

s?=?0

x?=?int(input('輸入整數(shù):'))
s?+=?x

x?=?int(input('輸入整數(shù):'))
s?+=?x

x?=?int(input('輸入整數(shù):'))
s?+=?x

print('總和:%d'?%?s)

例子7:判斷閏年

輸入年份,判斷是否是閏年。閏年判斷方法:能被4整除,但不能被100整除;或者能被 400 整除。需要用到算術(shù)運(yùn)算符邏輯運(yùn)算符

"""
判斷閏年
"""

year?=?int(input('輸入年份:?'))
is_leap?=?year?%?4?==?0?and?year?%?100?!=?0?or?year?%?400?==?0
print(is_leap)

例子8:判斷奇偶數(shù)

輸入一個(gè)數(shù)字,判斷基數(shù)還是偶數(shù),需要運(yùn)算和if ... else結(jié)構(gòu)

"""
判斷奇偶數(shù)
"""

in_x?=?int(input('輸入整數(shù):'))

if?in_x?%?2?==?0:
????print('偶數(shù)')
else:
????print('奇數(shù)')

例子9:猜大小

用戶輸入一個(gè) 1-6 之間的整數(shù),與程序隨機(jī)生成的數(shù)字作比較。需要用到if ... elif ... else結(jié)構(gòu)

"""
猜大小
"""

import?random

in_x?=?int(input('輸入整數(shù):'))
rand_x?=?random.randint(1,?6)
print('程序隨機(jī)數(shù):?%d'?%?rand_x)

if?in_x?>?rand_x:
????print('用戶贏')
elif?in_x?<?rand_x:
????print('程序贏')
else:
????print('打平')

說(shuō)明:random是Python的隨機(jī)數(shù)模塊,調(diào)用 random.randint 可以生成一個(gè)隨機(jī)數(shù),類型為 int。randint(1, 6) 表示生成 [1, 6] 之間的隨機(jī)數(shù)。

例子10:判斷閏年

之前判斷閏年是輸出TrueFalse,這次需要輸出文字版閏年平年

"""
判斷閏年
"""

year?=?int(input('輸入年份:?'))
if?year?%?4?==?0?and?year?%?100?!=?0?or?year?%?400?==?0:
????print('閏年')
else:
????print('平年')

例子11:攝氏度與華氏度互轉(zhuǎn)

之前做過(guò)華氏度轉(zhuǎn)攝氏度,現(xiàn)在通過(guò)分支結(jié)構(gòu)實(shí)現(xiàn)二者互轉(zhuǎn)。

"""
攝氏度與華氏度互換
"""

trans_type?=?input('輸入轉(zhuǎn)攝氏度還是華氏度:')

if?trans_type?==?'攝氏度':??#?執(zhí)行華氏度轉(zhuǎn)攝氏度的邏輯
????f?=?float(input('輸入華氏溫度:'))
????c?=?(f?-?32)?/?1.8
????print('攝氏溫度為:%.2f'?%?c)
elif?trans_type?==?'華氏度':??#?執(zhí)行攝氏度轉(zhuǎn)華氏度的邏輯
????c?=?float(input('輸入攝氏溫度:'))
????f?=?c?*?1.8?+?32
????print('華氏溫度為:%.2f'?%?f)
else:
????print('請(qǐng)輸入?華氏度?或?攝氏度')

例子12:是否構(gòu)成三角形

輸入三個(gè)邊長(zhǎng)度,判斷是否構(gòu)成三角形。構(gòu)成三角形的條件:兩邊之和大于第三邊

"""
是否構(gòu)成三角形
"""
a?=?float(input('輸入三角形三條邊:\n a =?'))
b?=?float(input('?b?=?'))
c?=?float(input('?c?=?'))
if?a?+?b?>?c?and?a?+?c?>?b?and?b?+?c?>?a:
????print('能夠構(gòu)成三角形')
else:
????print('不能構(gòu)成三角形')

例子13:輸出成績(jī)等級(jí)

輸入成績(jī)分?jǐn)?shù),輸出分?jǐn)?shù)對(duì)應(yīng)的等級(jí)。

>=90分得A,[80, 90) 得B,[70, 80)得C,[60, 70)得D,< 60得E

"""
輸出成績(jī)等級(jí)
"""

score?=?float(input('請(qǐng)輸入成績(jī):?'))
if?score?>=?90:
????grade?=?'A'
elif?score?>=?80:
????grade?=?'B'
elif?score?>=?70:
????grade?=?'C'
elif?score?>=?60:
????grade?=?'D'
else:
????grade?=?'E'
print('成績(jī)等級(jí)是:',?grade)

例子14:計(jì)算提成

某企業(yè)的獎(jiǎng)金根據(jù)銷售利潤(rùn)按照如下規(guī)則計(jì)算提成。輸入銷售利潤(rùn),計(jì)算獎(jiǎng)金。

利潤(rùn) <= 10萬(wàn),獎(jiǎng)金可提10%

10萬(wàn) < 利潤(rùn) <= 20萬(wàn),高出10萬(wàn)的部分提 7.5%

20萬(wàn) < 利潤(rùn) <= 40萬(wàn),高出20萬(wàn)元的部分提5%

40萬(wàn) < 利潤(rùn) <= 60萬(wàn),高出40萬(wàn)元的部分提3%

利潤(rùn) > 60萬(wàn),超過(guò)60萬(wàn)的部分提1%

"""
計(jì)算提成?v1.0
"""

profit?=?float(input('輸入銷售利潤(rùn)(元):?'))

if?profit?<=?100000:
????bonus?=?profit?*?0.1
elif?profit?<=?200000:
????bonus?=?100000?*?0.1?+?(profit?-?100000)?*?0.075
elif?profit?<=?400000:
????bonus?=?100000?*?0.1?+?200000?*?0.075?+?(profit?-?200000)?*?0.05
elif?profit?<=?600000:
????bonus?=?100000?*?0.1?+?200000?*?0.075?+?400000?*?0.05?+?(profit?-?400000)?*?0.03
else:
????bonus?=?100000?*?0.1?+?200000?*?0.075?+?400000?*?0.05?+?600000?*?0.03?+?(profit?-?600000)?*?0.01

print('獎(jiǎng)金:%.2f'?%?bonus)

例子15:實(shí)現(xiàn)分段函數(shù)

數(shù)學(xué)中經(jīng)常會(huì)見(jiàn)到分段函數(shù),用程序?qū)崿F(xiàn)如下分段函數(shù)

"""
分段函數(shù)
"""

x?=?int(input('輸入:'))

if?x?>?0:
????y?=?3?*?x?**?2?+?4
else:
????y?=?2?*?x?+?2

print('f(%d)?=?%d'?%?(x,?y))

例子16:1-n求和

輸入正整數(shù)n,計(jì)算 1 + 2 + ... + n的結(jié)果。

"""
1-n求和
"""

n?=?int(input('輸入n:'))

s?=?0
while?n?>=?1:
????s?+=?n
????n?-=?1

print('1-%d 求和結(jié)果:?%d'?%?(n,?s))

例子17:累加器 v2.0

之前實(shí)現(xiàn)的累加器只能支持 3 個(gè)數(shù)相加,現(xiàn)在需要去掉該限制,可以無(wú)限相加。

"""
累加器?v1.0
"""

s?=?0
while?True:
????in_str?=?input('輸入整數(shù)(輸入q,則退出):')

????if?in_str?==?'q':
????????break

????x?=?int(in_str)
????s?+=?x
????print('加和:%d'?%?s)

例子18:猜數(shù)游戲

程序隨機(jī)生成一個(gè)正整數(shù),用戶來(lái)猜,程序根據(jù)猜的大小給出相應(yīng)的提示。最后,輸出用戶猜了多少次才猜中。

"""
猜數(shù)游戲
"""

import?random

answer?=?random.randint(1,?100)
counter?=?0
while?True:
????counter?+=?1
????number?=?int(input('猜一個(gè)數(shù)字(1-100):?'))
????if?number?<?answer:
????????print('再大一點(diǎn)')
????elif?number?>?answer:
????????print('再小一點(diǎn)')
????else:
????????print('猜對(duì)了')
????????break

print(f'共猜了{(lán)counter}次')

例子19:打印乘法口訣表

"""
打印乘法口訣表
"""

for?i?in?range(1,?10):
????for?j?in?range(1,?i?+?1):
????????print(f'{i}*{j}={i?*?j}',?end='\t')

例子20:是否是素?cái)?shù)

輸入一個(gè)正整數(shù),判斷是否是素?cái)?shù)。素?cái)?shù)定義:大于1的自然數(shù)中,只能被1和它本身整除的自然數(shù)。如:3、5、7

"""
判斷是否是素?cái)?shù)
"""

num?=?int(input('請(qǐng)輸入一個(gè)正整數(shù):?'))
end?=?int(num?//?2)?+?1??#?只判斷前半部分是否能整除即可,前半部分沒(méi)有能整除的因此,后半部分肯定也沒(méi)有

is_prime?=?True
for?x?in?range(2,?end):
????if?num?%?x?==?0:
????????is_prime?=?False
????????break
if?is_prime?and?num?!=?1:
????print('素?cái)?shù)')
else:
????print('不是素?cái)?shù)')

range(2, end) 可以生成 2, 3, ... end序列,并依次賦值給 x 執(zhí)行循環(huán)。range還有如下用法

range(10):生成 0, 1, 2, ... 9 序列

range(1, 10, 2):生成 1, 3, 5, ... 9 序列

例子21:斐波那契數(shù)列

輸入正整數(shù) n,計(jì)算第 n 位的斐波那契數(shù)。斐波那契數(shù)列當(dāng)前位置的數(shù)字等于前兩個(gè)數(shù)字之和,1 1 2 3 5 8 ...

"""
斐波那契數(shù)列?v1.0
"""


n?=?int(input('輸入n:?'))
a,?b?=?0,?1
for?_?in?range(n):
????a,?b?=?b,?a?+?b

print(f'第?{n}?位斐波那契數(shù)是:{a}')

例子22:水仙花數(shù)

水仙花數(shù)是一個(gè)3位數(shù),該數(shù)字每個(gè)位上數(shù)字的立方和正好等于它本身,例如:

"""
水仙花數(shù)
"""

for?num?in?range(100,?1000):
????low?=?num?%?10
????mid?=?num?//?10?%?10
????high?=?num?//?100
????if?num?==?low?**?3?+?mid?**?3?+?high?**?3:
????????print(num)

例子23:猴子吃桃

猴子第一天摘了 n 個(gè)桃子,當(dāng)天吃了一半,還不癮,又多吃了一個(gè)

第二天早上又將剩下的桃子吃掉一半,又多吃了一個(gè)

以后每天早上都吃了前一天剩下的一半零一個(gè)。

到第10天早上想再吃時(shí),剩下一個(gè)桃子。求第一天共摘了多少。

反向思考:第 n-1 天的桃子 = (第n天桃子 + 1) * 2,從 第 10 天循環(huán)計(jì)算道第一天即可

"""
猴子吃桃
"""

peach?=?1
for?i?in?range(9):
????peach?=?(peach?+?1)?*?2
print(peach)

例子24:打印菱形

輸出如下菱形圖案

***

*****

*******

*****

***

"""
輸出菱形
"""

for?star_num?in?range(1,?7,?2):
????blank_num?=?7?-?star_num
????for?_?in?range(blank_num?//?2):
????????print('?',?end='')
????for?_?in?range(star_num):
????????print('*',?end='')
????for?_?in?range(blank_num?//?2):
????????print('?',?end='')
????print()

for?_?in?range(7):
????print('*',?end='')

print()

for?star_num?in?range(5,?0,?-2):
????blank_num?=?7?-?star_num
????for?_?in?range(blank_num?//?2):
????????print('?',?end='')
????for?_?in?range(star_num):
????????print('*',?end='')
????for?_?in?range(blank_num?//?2):
????????print('?',?end='')
????print()

例子25:計(jì)算提成 v2.0

將?例子14:計(jì)算提成改用列表+循環(huán)的方式,代碼更簡(jiǎn)潔,并且可以處理更靈活。

"""
計(jì)算提成?v2.0
"""

profit?=?int(input('輸入銷售利潤(rùn)(元):?'))
bonus?=?0
thresholds?=?[100000,?200000,?400000,?600000]
rates?=?[0.1,?0.075,?0.05,?0.03,?0.01]

for?i?in?range(len(thresholds)):
????if?profit?<=?thresholds[i]:
????????bonus?+=?profit?*?rates[i]
????????break
????else:
????????bonus?+=?thresholds[i]?*?rates[i]

bonus?+=?(profit?-?thresholds[-1])?*?rates[-1]
print('獎(jiǎng)金:%.2f'?%?bonus)

例子26:某天是一年中的第幾天

輸入某個(gè)日期,計(jì)算當(dāng)天是一年中的第幾天

"""
計(jì)算某天是一年中的第幾天
"""

months?=?[0,?31,?28,?31,?30,?31,?30,?31,?31,?30,?31,?30,?31]
res?=?0
year?=?int(input('年份:?'))
month?=?int(input('月份:?'))
day?=?int(input('幾號(hào):?'))

if?year?%?4?==?0?and?year?%?100?!=?0?or?year?%?400?==?0:?#?閏年二月?29?天
????months[2]?+=?1

for?i?in?range(month):
????res?+=?months[i]

print(res+day)

例子27:回文字符串

判斷一個(gè)字符串是否是回文串,回文串是一個(gè)正讀和反讀都一樣的字符串,如:level

"""
判斷是否是回文串
"""

s?=?input('輸入字符串:')

i?=?0
j?=?-1
s_len?=?len(s)
flag?=?True

while?i?!=?s_len?+?j:
????if?s[i]?!=?s[j]:
????????flag?=?False
????????break
????i?+=?1
????j?+=?-1

print('是回文串'?if?flag?else?'不是回文串')

例子28:個(gè)人信息輸入輸出

不定義類的情況下,可以將個(gè)人信息保存在元祖中

students?=?[]
while?True:
????input_s?=?input('輸入學(xué)生信息(學(xué)號(hào)?姓名?性別),空格分隔(輸入q,則退出):')

????if?input_s?==?'q':
????????break

????input_cols?=?input_s.split('?')
????students.append((input_cols[0],?input_cols[1],?input_cols[2]))

print(students)

例子29:個(gè)人信息排序

個(gè)人信息保存在元組中,并按照學(xué)號(hào)、姓名或者性別排序。

"""
個(gè)人信息排序
"""

students?=?[]
cols_name?=?['學(xué)號(hào)',?'姓名',?'性別']
while?True:
????input_s?=?input('輸入學(xué)生信息(學(xué)號(hào)?姓名?性別),空格分隔(輸入q,則退出):')

????if?input_s?==?'q':
????????break

????input_cols?=?input_s.split('?')
????students.append((input_cols[0],?input_cols[1],?input_cols[2]))

sorted_col?=?input('輸入排序?qū)傩裕?)
sorted_idx?=?cols_name.index(sorted_col)??#?根據(jù)輸入的屬性獲取元組的索引

print(sorted(students,?key=lambda?x:?x[sorted_idx]))

例子30:對(duì)輸入的內(nèi)容去重

對(duì)輸入的內(nèi)容去重,直接用?Python中?Set集合實(shí)現(xiàn)

"""
去重
"""

input_set?=?set()

while?True:
????s?=?input('輸入內(nèi)容(輸入q,則退出):')

????if?s?==?'q':
????????break

????input_set.add(s)

print(input_set)

例子31:輸出集合交集

給定Python web工程師算法工程師需要的技能,計(jì)算二者交集。

"""
集合交集
"""

python_web_programmer?=?set()
python_web_programmer.add('python基礎(chǔ)')
python_web_programmer.add('web知識(shí)')

ai_programmer?=?set()
ai_programmer.add('python基礎(chǔ)')
ai_programmer.add('機(jī)器學(xué)習(xí)')

inter_set?=?python_web_programmer.intersection(ai_programmer)
print('技能交集:',?end='')
print(inter_set)

Python set集合除了能計(jì)算交集,還可以計(jì)算并集、補(bǔ)集

例子32:猜拳游戲

用程序?qū)崿F(xiàn)石頭剪刀布游戲。

"""
猜拳游戲
"""

#?0代表布,1代表剪刀,2代表石頭
import?random

rule?=?{'布':?0,?'剪刀':?1,?'石頭':?2}

rand_res?=?random.randint(0,?2)
input_s?=?input('輸入石頭、剪刀、布:')
input_res?=?rule[input_s]
win?=?True

if?abs(rand_res?-?input_res)?==?2:??#?相差2說(shuō)明是布和石頭相遇,出布一方勝
????if?rand_res?==?0:
????????win?=?False
elif?rand_res?>?input_res:??#?相差1的情況誰(shuí)大誰(shuí)贏
????win?=?False

print(f'程序出:{list(rule.keys())[rand_res]},輸入:{input_res}')

if?rand_res?==?input_res:
????print('平')
else:
????print('贏'?if?win?else?'輸')

例子33:字典排序

字典的key是姓名,value是身高,現(xiàn)在需要按照身高對(duì)字典重新排序。

"""
字典排序
"""

hs?=?{'張三':?178,?'李四':?185,?'王麻子':?175}

print(dict(sorted(hs.items(),?key=lambda?item:?item[1])))

例子34:二元二次函數(shù) v2.0

將二元二次函數(shù)封裝在函數(shù)中,方便調(diào)用

"""
二元二次函數(shù)?v2.0
"""

def?f(x,?y):
????return?2?*?x?**?2?+?3?*?y?**?2?+?4?*?x?*?y


print(f'f(1,?2)?=?{f(1,?2)}')

例子35:斐波那契數(shù)列 v2.0

使用遞歸函數(shù)的形式生成斐波那契數(shù)列

"""
遞歸版斐波那契數(shù)列
"""

def?fib(n):
????return?1?if?n?<=?2?else?fib(n-1)?+?fib(n-2)


print(f'第 10?個(gè)斐波那契數(shù)是:{fib(10)}')

例子36:階乘

定義一個(gè)函數(shù),實(shí)現(xiàn)階乘。n的階乘定義:n! = 1*2*3* ... n

"""
階乘函數(shù)
"""

def?fact(n):
????return?1?if?n?==?1?else?fact(n-1)?*?n


print(f'10!?=?{fact(10)}')

例子37:實(shí)現(xiàn) range 函數(shù)

編寫(xiě)一個(gè)類似于?Python中的 range 功能的函數(shù)文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-839624.html

"""
range函數(shù)
"""

def?range_x(start,?stop,?step):
????res?=?[]
????while?start?<?stop:
????????res.append(start)

????????start?+=?step
????return?res

有不少同學(xué)學(xué)完Python后仍然很難將其靈活運(yùn)用。我整理 37 個(gè)Python入門的小程序用python畫(huà)滿天星的代碼。在實(shí)踐中應(yīng)用Python會(huì)有事半功倍的效果。

python小程序代碼50 到100行,python編程100個(gè)小程序,人工智能

例子1:華氏溫度轉(zhuǎn)換為攝氏溫度

華氏溫度轉(zhuǎn)攝氏溫度的公式:C = (F - 32) / 1.8。本例考察Python的加減乘除運(yùn)算符。

"""
將華氏溫度轉(zhuǎn)換為攝氏溫度
"""

f?=?float(input('輸入華氏溫度:?'))
c?=?(f?-?32)?/?1.8
print('%.1f?華氏度?=?%.1f?攝氏度'?%?(f,?c))

例子2:計(jì)算圓的周長(zhǎng)和面積

輸入半徑,計(jì)算圓的半徑和面積,圓周長(zhǎng)公式:2*π*r,面試公式:π*r^2

"""
半徑計(jì)算圓的周長(zhǎng)和面積
"""

radius?=?float(input('輸入圓的半徑:?'))
perimeter?=?2?*?3.1416?*?radius
area?=?3.1416?*?radius?*?radius
print('周長(zhǎng):?%.2f'?%?perimeter)
print('面積:?%.2f'?%?area)

例子3:實(shí)現(xiàn)一元一次函數(shù)

實(shí)現(xiàn)數(shù)學(xué)里的一元一次函數(shù):f(x) = 2x + 1

"""
一元一次函數(shù)
"""

x?=?int(input('輸入x:'))
y?=?2?*?x?+?1
print('f(%d)?=?%d'?%?(x,?y))

例子4:實(shí)現(xiàn)二元二次函數(shù)

實(shí)現(xiàn)數(shù)學(xué)里的二元二次函數(shù):f(x, y) = 2x^2 + 3y^2 + 4xy,需要用到指數(shù)運(yùn)算符**

"""
二元二次函數(shù)
"""

x?=?int(input('輸入x:'))
y?=?int(input('輸入y:'))

z?=?2?*?x?**?2?+?3?*?y?**?2?+?4?*?x?*?y
print('f(%d,?%d)?=?%d'?%?(x,?y,?z))

例子5:分離整數(shù)的個(gè)位數(shù)

將一個(gè)正整數(shù)的個(gè)位數(shù),以及除個(gè)位數(shù)外的部分分離。需要用到模(取余數(shù))運(yùn)算符%,和整除運(yùn)算符//

"""
分離整數(shù)個(gè)位數(shù)
"""

x?=?int(input('輸入整數(shù):'))

single_dig?=?x?%?10
exp_single_dig?=?x?//?10

print('個(gè)位數(shù):?%d'?%?single_dig)
print('除個(gè)位數(shù)外:?%d'?%?exp_single_dig)

例子6:實(shí)現(xiàn)一個(gè)累加器

實(shí)現(xiàn)一個(gè)簡(jiǎn)單的累加器,可以接受用戶輸入3個(gè)數(shù)字,并將其累加。需要用到復(fù)合賦值運(yùn)算符:+=

"""
累加器?v1.0
"""

s?=?0

x?=?int(input('輸入整數(shù):'))
s?+=?x

x?=?int(input('輸入整數(shù):'))
s?+=?x

x?=?int(input('輸入整數(shù):'))
s?+=?x

print('總和:%d'?%?s)

例子7:判斷閏年

輸入年份,判斷是否是閏年。閏年判斷方法:能被4整除,但不能被100整除;或者能被 400 整除。需要用到算術(shù)運(yùn)算符邏輯運(yùn)算符

"""
判斷閏年
"""

year?=?int(input('輸入年份:?'))
is_leap?=?year?%?4?==?0?and?year?%?100?!=?0?or?year?%?400?==?0
print(is_leap)

例子8:判斷奇偶數(shù)

輸入一個(gè)數(shù)字,判斷基數(shù)還是偶數(shù),需要運(yùn)算和if ... else結(jié)構(gòu)

"""
判斷奇偶數(shù)
"""

in_x?=?int(input('輸入整數(shù):'))

if?in_x?%?2?==?0:
????print('偶數(shù)')
else:
????print('奇數(shù)')

例子9:猜大小

用戶輸入一個(gè) 1-6 之間的整數(shù),與程序隨機(jī)生成的數(shù)字作比較。需要用到if ... elif ... else結(jié)構(gòu)

"""
猜大小
"""

import?random

in_x?=?int(input('輸入整數(shù):'))
rand_x?=?random.randint(1,?6)
print('程序隨機(jī)數(shù):?%d'?%?rand_x)

if?in_x?>?rand_x:
????print('用戶贏')
elif?in_x?<?rand_x:
????print('程序贏')
else:
????print('打平')

說(shuō)明:random是Python的隨機(jī)數(shù)模塊,調(diào)用 random.randint 可以生成一個(gè)隨機(jī)數(shù),類型為 int。randint(1, 6) 表示生成 [1, 6] 之間的隨機(jī)數(shù)。

例子10:判斷閏年

之前判斷閏年是輸出TrueFalse,這次需要輸出文字版閏年平年

"""
判斷閏年
"""

year?=?int(input('輸入年份:?'))
if?year?%?4?==?0?and?year?%?100?!=?0?or?year?%?400?==?0:
????print('閏年')
else:
????print('平年')

例子11:攝氏度與華氏度互轉(zhuǎn)

之前做過(guò)華氏度轉(zhuǎn)攝氏度,現(xiàn)在通過(guò)分支結(jié)構(gòu)實(shí)現(xiàn)二者互轉(zhuǎn)。

"""
攝氏度與華氏度互換
"""

trans_type?=?input('輸入轉(zhuǎn)攝氏度還是華氏度:')

if?trans_type?==?'攝氏度':??#?執(zhí)行華氏度轉(zhuǎn)攝氏度的邏輯
????f?=?float(input('輸入華氏溫度:'))
????c?=?(f?-?32)?/?1.8
????print('攝氏溫度為:%.2f'?%?c)
elif?trans_type?==?'華氏度':??#?執(zhí)行攝氏度轉(zhuǎn)華氏度的邏輯
????c?=?float(input('輸入攝氏溫度:'))
????f?=?c?*?1.8?+?32
????print('華氏溫度為:%.2f'?%?f)
else:
????print('請(qǐng)輸入?華氏度?或?攝氏度')

例子12:是否構(gòu)成三角形

輸入三個(gè)邊長(zhǎng)度,判斷是否構(gòu)成三角形。構(gòu)成三角形的條件:兩邊之和大于第三邊。

"""
是否構(gòu)成三角形
"""
a?=?float(input('輸入三角形三條邊:\n a =?'))
b?=?float(input('?b?=?'))
c?=?float(input('?c?=?'))
if?a?+?b?>?c?and?a?+?c?>?b?and?b?+?c?>?a:
????print('能夠構(gòu)成三角形')
else:
????print('不能構(gòu)成三角形')

例子13:輸出成績(jī)等級(jí)

輸入成績(jī)分?jǐn)?shù),輸出分?jǐn)?shù)對(duì)應(yīng)的等級(jí)。

>=90分得A,[80, 90) 得B,[70, 80)得C,[60, 70)得D,< 60得E

"""
輸出成績(jī)等級(jí)
"""

score?=?float(input('請(qǐng)輸入成績(jī):?'))
if?score?>=?90:
????grade?=?'A'
elif?score?>=?80:
????grade?=?'B'
elif?score?>=?70:
????grade?=?'C'
elif?score?>=?60:
????grade?=?'D'
else:
????grade?=?'E'
print('成績(jī)等級(jí)是:',?grade)

例子14:計(jì)算提成

某企業(yè)的獎(jiǎng)金根據(jù)銷售利潤(rùn)按照如下規(guī)則計(jì)算提成。輸入銷售利潤(rùn),計(jì)算獎(jiǎng)金。

利潤(rùn) <= 10萬(wàn),獎(jiǎng)金可提10%

10萬(wàn) < 利潤(rùn) <= 20萬(wàn),高出10萬(wàn)的部分提 7.5%

20萬(wàn) < 利潤(rùn) <= 40萬(wàn),高出20萬(wàn)元的部分提5%

40萬(wàn) < 利潤(rùn) <= 60萬(wàn),高出40萬(wàn)元的部分提3%

利潤(rùn) > 60萬(wàn),超過(guò)60萬(wàn)的部分提1%

"""
計(jì)算提成?v1.0
"""

profit?=?float(input('輸入銷售利潤(rùn)(元):?'))

if?profit?<=?100000:
????bonus?=?profit?*?0.1
elif?profit?<=?200000:
????bonus?=?100000?*?0.1?+?(profit?-?100000)?*?0.075
elif?profit?<=?400000:
????bonus?=?100000?*?0.1?+?200000?*?0.075?+?(profit?-?200000)?*?0.05
elif?profit?<=?600000:
????bonus?=?100000?*?0.1?+?200000?*?0.075?+?400000?*?0.05?+?(profit?-?400000)?*?0.03
else:
????bonus?=?100000?*?0.1?+?200000?*?0.075?+?400000?*?0.05?+?600000?*?0.03?+?(profit?-?600000)?*?0.01

print('獎(jiǎng)金:%.2f'?%?bonus)

例子15:實(shí)現(xiàn)分段函數(shù)

數(shù)學(xué)中經(jīng)常會(huì)見(jiàn)到分段函數(shù),用程序?qū)崿F(xiàn)如下分段函數(shù)

"""
分段函數(shù)
"""

x?=?int(input('輸入:'))

if?x?>?0:
????y?=?3?*?x?**?2?+?4
else:
????y?=?2?*?x?+?2

print('f(%d)?=?%d'?%?(x,?y))

例子16:1-n求和

輸入正整數(shù)n,計(jì)算 1 + 2 + ... + n的結(jié)果。

"""
1-n求和
"""

n?=?int(input('輸入n:'))

s?=?0
while?n?>=?1:
????s?+=?n
????n?-=?1

print('1-%d 求和結(jié)果:?%d'?%?(n,?s))

例子17:累加器 v2.0

之前實(shí)現(xiàn)的累加器只能支持 3 個(gè)數(shù)相加,現(xiàn)在需要去掉該限制,可以無(wú)限相加。

"""
累加器?v1.0
"""

s?=?0
while?True:
????in_str?=?input('輸入整數(shù)(輸入q,則退出):')

????if?in_str?==?'q':
????????break

????x?=?int(in_str)
????s?+=?x
????print('加和:%d'?%?s)

例子18:猜數(shù)游戲

程序隨機(jī)生成一個(gè)正整數(shù),用戶來(lái)猜,程序根據(jù)猜的大小給出相應(yīng)的提示。最后,輸出用戶猜了多少次才猜中。

"""
猜數(shù)游戲
"""

import?random

answer?=?random.randint(1,?100)
counter?=?0
while?True:
????counter?+=?1
????number?=?int(input('猜一個(gè)數(shù)字(1-100):?'))
????if?number?<?answer:
????????print('再大一點(diǎn)')
????elif?number?>?answer:
????????print('再小一點(diǎn)')
????else:
????????print('猜對(duì)了')
????????break

print(f'共猜了{(lán)counter}次')

例子19:打印乘法口訣表

"""
打印乘法口訣表
"""

for?i?in?range(1,?10):
????for?j?in?range(1,?i?+?1):
????????print(f'{i}*{j}={i?*?j}',?end='\t')

例子20:是否是素?cái)?shù)

輸入一個(gè)正整數(shù),判斷是否是素?cái)?shù)。素?cái)?shù)定義:大于1的自然數(shù)中,只能被1和它本身整除的自然數(shù)。如:3、5、7

"""
判斷是否是素?cái)?shù)
"""

num?=?int(input('請(qǐng)輸入一個(gè)正整數(shù):?'))
end?=?int(num?//?2)?+?1??#?只判斷前半部分是否能整除即可,前半部分沒(méi)有能整除的因此,后半部分肯定也沒(méi)有

is_prime?=?True
for?x?in?range(2,?end):
????if?num?%?x?==?0:
????????is_prime?=?False
????????break
if?is_prime?and?num?!=?1:
????print('素?cái)?shù)')
else:
????print('不是素?cái)?shù)')

range(2, end) 可以生成 2, 3, ... end序列,并依次賦值給 x 執(zhí)行循環(huán)。range還有如下用法

range(10):生成 0, 1, 2, ... 9 序列

range(1, 10, 2):生成 1, 3, 5, ... 9 序列

例子21:斐波那契數(shù)列

輸入正整數(shù) n,計(jì)算第 n 位的斐波那契數(shù)。斐波那契數(shù)列當(dāng)前位置的數(shù)字等于前兩個(gè)數(shù)字之和,1 1 2 3 5 8 ...

"""
斐波那契數(shù)列?v1.0
"""


n?=?int(input('輸入n:?'))
a,?b?=?0,?1
for?_?in?range(n):
????a,?b?=?b,?a?+?b

print(f'第?{n}?位斐波那契數(shù)是:{a}')

例子22:水仙花數(shù)

水仙花數(shù)是一個(gè)3位數(shù),該數(shù)字每個(gè)位上數(shù)字的立方和正好等于它本身,例如:

"""
水仙花數(shù)
"""

for?num?in?range(100,?1000):
????low?=?num?%?10
????mid?=?num?//?10?%?10
????high?=?num?//?100
????if?num?==?low?**?3?+?mid?**?3?+?high?**?3:
????????print(num)

例子23:猴子吃桃

猴子第一天摘了 n 個(gè)桃子,當(dāng)天吃了一半,還不癮,又多吃了一個(gè)

第二天早上又將剩下的桃子吃掉一半,又多吃了一個(gè)

以后每天早上都吃了前一天剩下的一半零一個(gè)。

到第10天早上想再吃時(shí),剩下一個(gè)桃子。求第一天共摘了多少。

反向思考:第 n-1 天的桃子 = (第n天桃子 + 1) * 2,從 第 10 天循環(huán)計(jì)算道第一天即可

"""
猴子吃桃
"""

peach?=?1
for?i?in?range(9):
????peach?=?(peach?+?1)?*?2
print(peach)

例子24:打印菱形

輸出如下菱形圖案

***

*****

*******

*****

***

"""
輸出菱形
"""

for?star_num?in?range(1,?7,?2):
????blank_num?=?7?-?star_num
????for?_?in?range(blank_num?//?2):
????????print('?',?end='')
????for?_?in?range(star_num):
????????print('*',?end='')
????for?_?in?range(blank_num?//?2):
????????print('?',?end='')
????print()

for?_?in?range(7):
????print('*',?end='')

print()

for?star_num?in?range(5,?0,?-2):
????blank_num?=?7?-?star_num
????for?_?in?range(blank_num?//?2):
????????print('?',?end='')
????for?_?in?range(star_num):
????????print('*',?end='')
????for?_?in?range(blank_num?//?2):
????????print('?',?end='')
????print()

例子25:計(jì)算提成 v2.0

將?例子14:計(jì)算提成改用列表+循環(huán)的方式,代碼更簡(jiǎn)潔,并且可以處理更靈活。

"""
計(jì)算提成?v2.0
"""

profit?=?int(input('輸入銷售利潤(rùn)(元):?'))
bonus?=?0
thresholds?=?[100000,?200000,?400000,?600000]
rates?=?[0.1,?0.075,?0.05,?0.03,?0.01]

for?i?in?range(len(thresholds)):
????if?profit?<=?thresholds[i]:
????????bonus?+=?profit?*?rates[i]
????????break
????else:
????????bonus?+=?thresholds[i]?*?rates[i]

bonus?+=?(profit?-?thresholds[-1])?*?rates[-1]
print('獎(jiǎng)金:%.2f'?%?bonus)

例子26:某天是一年中的第幾天

輸入某個(gè)日期,計(jì)算當(dāng)天是一年中的第幾天

"""
計(jì)算某天是一年中的第幾天
"""

months?=?[0,?31,?28,?31,?30,?31,?30,?31,?31,?30,?31,?30,?31]
res?=?0
year?=?int(input('年份:?'))
month?=?int(input('月份:?'))
day?=?int(input('幾號(hào):?'))

if?year?%?4?==?0?and?year?%?100?!=?0?or?year?%?400?==?0:?#?閏年二月?29?天
????months[2]?+=?1

for?i?in?range(month):
????res?+=?months[i]

print(res+day)

例子27:回文字符串

判斷一個(gè)字符串是否是回文串,回文串是一個(gè)正讀和反讀都一樣的字符串,如:level

"""
判斷是否是回文串
"""

s?=?input('輸入字符串:')

i?=?0
j?=?-1
s_len?=?len(s)
flag?=?True

while?i?!=?s_len?+?j:
????if?s[i]?!=?s[j]:
????????flag?=?False
????????break
????i?+=?1
????j?+=?-1

print('是回文串'?if?flag?else?'不是回文串')

例子28:個(gè)人信息輸入輸出

不定義類的情況下,可以將個(gè)人信息保存在元祖中

students?=?[]
while?True:
????input_s?=?input('輸入學(xué)生信息(學(xué)號(hào)?姓名?性別),空格分隔(輸入q,則退出):')

????if?input_s?==?'q':
????????break

????input_cols?=?input_s.split('?')
????students.append((input_cols[0],?input_cols[1],?input_cols[2]))

print(students)

例子29:個(gè)人信息排序

個(gè)人信息保存在元組中,并按照學(xué)號(hào)、姓名或者性別排序。

"""
個(gè)人信息排序
"""

students?=?[]
cols_name?=?['學(xué)號(hào)',?'姓名',?'性別']
while?True:
????input_s?=?input('輸入學(xué)生信息(學(xué)號(hào)?姓名?性別),空格分隔(輸入q,則退出):')

????if?input_s?==?'q':
????????break

????input_cols?=?input_s.split('?')
????students.append((input_cols[0],?input_cols[1],?input_cols[2]))

sorted_col?=?input('輸入排序?qū)傩裕?)
sorted_idx?=?cols_name.index(sorted_col)??#?根據(jù)輸入的屬性獲取元組的索引

print(sorted(students,?key=lambda?x:?x[sorted_idx]))

例子30:對(duì)輸入的內(nèi)容去重

對(duì)輸入的內(nèi)容去重,直接用?Python中?Set集合實(shí)現(xiàn)

"""
去重
"""

input_set?=?set()

while?True:
????s?=?input('輸入內(nèi)容(輸入q,則退出):')

????if?s?==?'q':
????????break

????input_set.add(s)

print(input_set)

例子31:輸出集合交集

給定Python web工程師算法工程師需要的技能,計(jì)算二者交集。

"""
集合交集
"""

python_web_programmer?=?set()
python_web_programmer.add('python基礎(chǔ)')
python_web_programmer.add('web知識(shí)')

ai_programmer?=?set()
ai_programmer.add('python基礎(chǔ)')
ai_programmer.add('機(jī)器學(xué)習(xí)')

inter_set?=?python_web_programmer.intersection(ai_programmer)
print('技能交集:',?end='')
print(inter_set)

Python set集合除了能計(jì)算交集,還可以計(jì)算并集、補(bǔ)集

例子32:猜拳游戲

用程序?qū)崿F(xiàn)石頭剪刀布游戲。

"""
猜拳游戲
"""

#?0代表布,1代表剪刀,2代表石頭
import?random

rule?=?{'布':?0,?'剪刀':?1,?'石頭':?2}

rand_res?=?random.randint(0,?2)
input_s?=?input('輸入石頭、剪刀、布:')
input_res?=?rule[input_s]
win?=?True

if?abs(rand_res?-?input_res)?==?2:??#?相差2說(shuō)明是布和石頭相遇,出布一方勝
????if?rand_res?==?0:
????????win?=?False
elif?rand_res?>?input_res:??#?相差1的情況誰(shuí)大誰(shuí)贏
????win?=?False

print(f'程序出:{list(rule.keys())[rand_res]},輸入:{input_res}')

if?rand_res?==?input_res:
????print('平')
else:
????print('贏'?if?win?else?'輸')

例子33:字典排序

字典的key是姓名,value是身高,現(xiàn)在需要按照身高對(duì)字典重新排序。

"""
字典排序
"""

hs?=?{'張三':?178,?'李四':?185,?'王麻子':?175}

print(dict(sorted(hs.items(),?key=lambda?item:?item[1])))

例子34:二元二次函數(shù) v2.0

將二元二次函數(shù)封裝在函數(shù)中,方便調(diào)用

"""
二元二次函數(shù)?v2.0
"""

def?f(x,?y):
????return?2?*?x?**?2?+?3?*?y?**?2?+?4?*?x?*?y


print(f'f(1,?2)?=?{f(1,?2)}')

例子35:斐波那契數(shù)列 v2.0

使用遞歸函數(shù)的形式生成斐波那契數(shù)列

"""
遞歸版斐波那契數(shù)列
"""

def?fib(n):
????return?1?if?n?<=?2?else?fib(n-1)?+?fib(n-2)


print(f'第 10?個(gè)斐波那契數(shù)是:{fib(10)}')

例子36:階乘

定義一個(gè)函數(shù),實(shí)現(xiàn)階乘。n的階乘定義:n! = 1*2*3* ... n

"""
階乘函數(shù)
"""

def?fact(n):
????return?1?if?n?==?1?else?fact(n-1)?*?n


print(f'10!?=?{fact(10)}')

例子37:實(shí)現(xiàn) range 函數(shù)

編寫(xiě)一個(gè)類似于?Python中的 range 功能的函數(shù)

"""
range函數(shù)
"""

def?range_x(start,?stop,?step):
????res?=?[]
????while?start?<?stop:
????????res.append(start)

????????start?+=?step
????return?res

到了這里,關(guān)于python小程序代碼50 到100行,python編程100個(gè)小程序的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包