有不少同學學完Python/ target=_blank class=infotextkey>Python后仍然很難將其靈活運用。我整理15個Python入門的小程序。在實踐中應用Python會有事半功倍的效果。
01 實現二元二次函數
實現數學里的二元二次函數:f(x, y) = 2x^2 + 3y^2 + 4xy,需要用到指數運算符**
"""
二元二次函數
"""
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))
02 分離整數的個位數
將一個正整數的個位數,以及除個位數外的部分分離。需要用到模(取余數)運算符%,和整除運算符//
"""
分離整數個位數
"""
x = int(input('輸入整數:'))
single_dig = x % 10
exp_single_dig = x // 10
print('個位數: %d' % single_dig)
print('除個位數外: %d' % exp_single_dig)
03 實現一個累加器
實現一個簡單的累加器,可以接受用戶輸入3個數字,并將其累加。需要用到復合賦值運算符:+=
"""
累加器 v1.0
"""
s = 0
x = int(input('輸入整數:'))
s += x
x = int(input('輸入整數:'))
s += x
x = int(input('輸入整數:'))
s += x
print('總和:%d' % s)
04 判斷閏年
輸入年份,判斷是否是閏年。閏年判斷方法:能被4整除,但不能被100整除;或者能被 400 整除。需要用到算術運算符和邏輯運算符
"""
判斷閏年
"""
year = int(input('輸入年份: '))
is_leap = year % 4 == 0 and year % 100 != 0 or year % 400 == 0
print(is_leap)
05 判斷奇偶數
輸入一個數字,判斷基數還是偶數,需要模運算和if ... else結構
"""
判斷奇偶數
"""
in_x = int(input('輸入整數:'))
if in_x % 2 == 0:
print('偶數')
else:
print('奇數')
06 攝氏度與華氏度互轉
之前做過華氏度轉攝氏度,現在通過分支結構實現二者互轉。
"""
攝氏度與華氏度互換
"""
trans_type = input('輸入轉攝氏度還是華氏度:')
if trans_type == '攝氏度': # 執行華氏度轉攝氏度的邏輯
f = float(input('輸入華氏溫度:'))
c = (f - 32) / 1.8
print('攝氏溫度為:%.2f' % c)
elif trans_type == '華氏度': # 執行攝氏度轉華氏度的邏輯
c = float(input('輸入攝氏溫度:'))
f = c * 1.8 + 32
print('華氏溫度為:%.2f' % f)
else:
print('請輸入 華氏度 或 攝氏度')
07 是否構成三角形
輸入三個邊長度,判斷是否構成三角形。構成三角形的條件:兩邊之和大于第三邊。
"""
是否構成三角形
"""
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('能夠構成三角形')
else:
print('不能構成三角形')
08 輸出成績等級
輸入成績分數,輸出分數對應的等級。
>=90分得A,[80, 90) 得B,[70, 80)得C,[60, 70)得D,< 60得E
"""
輸出成績等級
"""
score = float(input('請輸入成績: '))
if score >= 90:
grade = 'A'
elif score >= 80:
grade = 'B'
elif score >= 70:
grade = 'C'
elif score >= 60:
grade = 'D'
else:
grade = 'E'
print('成績等級是:', grade)
09 計算提成
某企業的獎金根據銷售利潤按照如下規則計算提成。輸入銷售利潤,計算獎金。
利潤 <= 10萬,獎金可提升10%
10萬 < 利潤 <= 20萬,高出10萬的部分提高 7.5%
20萬 < 利潤 <= 40萬,高出20萬元的部分提高5%
40萬 < 利潤 <= 60萬,高出40萬元的部分提高3%
利潤 > 60萬,超過60萬的部分提高1%
"""
計算提成 v1.0
"""
profit = float(input('輸入銷售利潤(元): '))
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('獎金:%.2f' % bonus)
10 猜數游戲
程序隨機生成一個正整數,用戶來猜,程序根據猜的大小給出相應的提示。最后,輸出用戶猜了多少次才猜中。
"""
猜數游戲
"""
import random
answer = random.randint(1, 100)
counter = 0
while True:
counter += 1
number = int(input('猜一個數字(1-100): '))
if number < answer:
print('再大一點')
elif number > answer:
print('再小一點')
else:
print('猜對了')
break
print(f'共猜了{counter}次')
11 打印乘法口訣表
"""
打印乘法口訣表
"""
for i in range(1, 10):
for j in range(1, i + 1):
print(f'{i}*{j}={i * j}', end='t')
12 是否是素數
輸入一個正整數,判斷是否是素數。素數定義:大于1的自然數中,只能被1和它本身整除的自然數。如:3、5、7
"""
判斷是否是素數
"""
num = int(input('請輸入一個正整數: '))
end = int(num // 2) + 1 # 只判斷前半部分是否能整除即可,前半部分沒有能整除的因此,后半部分肯定也沒有
is_prime = True
for x in range(2, end):
if num % x == 0:
is_prime = False
break
if is_prime and num != 1:
print('素數')
else:
print('不是素數')
range(2, end) 可以生成 2, 3, ... end序列,并依次賦值給 x 執行循環。range還有如下用法
range(10):生成 0, 1, 2, ... 9 序列
range(1, 10, 2):生成 1, 3, 5, ... 9 序列
13 猜拳游戲
用程序實現石頭剪刀布游戲。
"""
猜拳游戲
"""
# 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說明是布和石頭相遇,出布一方勝
if rand_res == 0:
win = False
elif rand_res > input_res: # 相差1的情況誰大誰贏
win = False
print(f'程序出:{list(rule.keys())[rand_res]},輸入:{input_res}')
if rand_res == input_res:
print('平')
else:
print('贏' if win else '輸')
14 字典排序
字典的key是姓名,value是身高,現在需要按照身高對字典重新排序。
"""
字典排序
"""
hs = {'張三': 178, '李四': 185, '王麻子': 175}
print(dict(sorted(hs.items(), key=lambda item: item[1])))
15 二元二次函數 v2.0
將二元二次函數封裝在函數中,方便調用
"""
二元二次函數 v2.0
"""
def f(x, y):
return 2 * x ** 2 + 3 * y ** 2 + 4 * x * y
print(f'f(1, 2) = {f(1, 2)}')
最后
初學python的小伙伴注意哦~不要只依賴于教程,而忽視實操的能力。不然,是很難有進步的??梢远鄤觿邮?,嘗試一下,積累經驗。
希望對你們有幫助,喜歡這篇內容的小伙伴們就點個贊和關注!