乐趣区

关于python:15个入门小程序你都知道哪些

有不少同学学完 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 的小伙伴留神哦~ 不要只依赖于教程,而漠视实操的能力。不然,是很难有提高的。能够多动动手,尝试一下,积攒教训。

心愿对你们有帮忙,喜爱这篇内容的小伙伴们就点个赞和关注!

退出移动版