Python例题附答案

文章目录

            • Python 练习实例1
            • Python 练习实例2
            • Python 练习实例3
            • Python 练习实例4
            • Python 练习实例5
            • Python 练习实例6
            • Python 练习实例7
            • Python 练习实例8
            • Python 练习实例9
            • Python 练习实例10
            • Python 练习实例15
            • Python练习实例101
            • Python练习实例102
            • Python练习实例103
            • Python练习实例104
            • Python练习实例105
            • Python练习实例106
            • Python练习实例107
            • Python练习实例108
            • Python练习实例109
            • Python练习实例110
            • Python练习实例111
            • Python练习实例112
            • Python练习实例113
            • Python练习实例114
            • Python练习实例115
            • Python练习实例116
            • Python练习实例117
            • Python练习实例118
            • Python练习实例119
            • Python练习实例120

Python 练习实例1

题目:有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?

sum = 0
for i in range(1,5):
    for j in range(1,5):
        for z in range(1,5):
            if i!=j and j!=z and i!=z:自尊自责自在最早在自尊自责自自尊自责自自尊自责自自尊自责自在最早在自尊自责自自尊自责自自尊自责自自尊自责自最早在自尊自责自最早在
                sum += 1
                print(i,j,z)
print(sum)
Python 练习实例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,求应发放奖金总数?

profit = int(input('请输入当月利润:'))
bonus = [1000000, 600000, 400000, 200000, 100000, 0]
rate = [0.01, 0.015, 0.03, 0.05, 0.075, 0.1]
sum = 0
for i in range(0, 6):
    if profit > bonus[i]:
        sum += (profit - bonus[i]) * rate[i]
        profit = bonus[i]
print(sum)
Python 练习实例3

题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?


Python 练习实例4

题目:输入某年某月某日,判断这一天是这一年的第几天?

year = int(input('请输入年份:'))
month = int(input('请输入月份:'))
day = int(input('请输入日:'))
# 这里省略对输入数据的规范性做判断
months_list = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334]
sum = 0
if 0 < month < 12:
    sum = months_list[month - 1]
sum += day
tmp = 0
if year % 400 == 0 or (year % 4 == 0 and year % 100 != 0):
    tmp = 1
if tmp == 1 and month > 2:
    sum += 1
print('这一天是这一年中的第%d天' % sum)

运行记录:

请输入年份:2019
请输入月份:2
请输入日:1
这一天是这一年中的第32
Python 练习实例5

题目:输入三个整数x,y,z,请把这三个数由小到大输出。

lst = []
for i in range(3):
    val = eval(input('请输入第%d个数:' % (i + 1)))
    lst.append(val)
lst.sort(reverse=False)  # 默认是False,升序排列
for i in lst:
    print(i)

运行记录:

请输入第1个数:12
请输入第2个数:45
请输入第3个数:36
12
36
45
Python 练习实例6

题目:实现斐波那契数列,获取第n个斐波那契数?(我们这里认为斐波那契数列的第一个数是1不是0)

def fibo_seq(n):
    a, b = 1, 1
    for i in range(n - 2):  # 执行n-2返回b比执行n-1返回a少执行一次,提高了效率
        a, b = b, a + b
    return b
    
print(fibo_seq(10)) # 55

使用递归来实现:

def fibo_seq(n):
    if n == 1 or n == 2:
        return 1
    return fibo_seq(n - 2) + fibo_seq(n - 1)

print(fibo_seq(10))

如果需要输出指定个数的斐波那契数列:

# def fibo_seq(n):
#     if n == 1 or n == 2:
#         return 1
#     return fibo_seq(n - 2) + fibo_seq(n - 1)
#
#
# print(fibo_seq(10))
def fibo_seq(n):
    if n == 1:
        return [1]
    if n == 2:
        return [1, 1]
    lst = [1, 1]
    for i in range(2, n):
        lst.append(lst[-1] + lst[-2])
    return lst

print(fibo_seq(10))

运行记录:

[1, 1, 2, 3, 5, 8, 13, 21, 34, 55]
Python 练习实例7

题目:将一个列表的数据复制到另一个列表中,使用列表[:]

lst1 = [1, 2, 3, 4, 5, 6]
lst2 = lst1[:]
print(lst2)

解析:通过lst1[:]分割结果是lst1中的所有元素。

Python 练习实例8

题目:输出 9*9 乘法口诀表。

for i in range(1, 10):
    for j in range(1, i + 1):
        print('%dx%d=%d' % (j, i, i * j), end=' ')
    print()

一行代码输出九九乘法表:

print('\n'.join([' '.join('%dx%d=%d' % (j, i, i * j) for j in range(1, i + 1)) for i in range(1, 10)]))
# 或者(内层加不加[]都没关系)
print([' '.join(['%dx%d=%d' % (j, i, i * j) for j in range(1, i + 1)]) for i in range(1, 10)])

运行记录:

1x1=1 
1x2=2 2x2=4 
1x3=3 2x3=6 3x3=9 
1x4=4 2x4=8 3x4=12 4x4=16 
1x5=5 2x5=10 3x5=15 4x5=20 5x5=25 
1x6=6 2x6=12 3x6=18 4x6=24 5x6=30 6x6=36 
1x7=7 2x7=14 3x7=21 4x7=28 5x7=35 6x7=42 7x7=49 
1x8=8 2x8=16 3x8=24 4x8=32 5x8=40 6x8=48 7x8=56 8x8=64 
1x9=9 2x9=18 3x9=27 4x9=36 5x9=45 6x9=54 7x9=63 8x9=72 9x9=81 
Python 练习实例9

题目:暂停一秒输出,使用 time 模块的 sleep() 函数实现。

from time import sleep

lst = [1, 2, 3, 4, 5, 6]
for i in lst:
    print(i)
    sleep(1)
Python 练习实例10

题目:暂停一秒输出,并格式化当前时间。

from time import sleep
from datetime import datetime

print(datetime.now().strftime('%Y-%m-%d %H:%M:%S'))
sleep(1)
print(datetime.now().strftime('%Y-%m-%d %H:%M:%S'))
Python 练习实例15

题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。

score = float(input('请输入一个分数:'))
if score >= 90:
    grade = 'A'
elif score >= 60:
    grade = 'B'
else:
    grade = 'C'
print('您得到一个:%s' % grade)

执行流程:

请输入一个分数:90
您得到了一个:A
Python练习实例101

题目:如何输出"Hello World!"?

print('Hello World!')

执行流程:

Hello World!
Python练习实例102

题目:用户输入两个数字,并计算两个数字之和

num1 = float(input('请输入第一个数字:'))
num2 = float(input('请输入第二个数字:'))
print('{0}+{1}={2}'.format(num1,num2,num1+num2))

执行流程:

请输入第一个数字:12
请输入第二个数字:34
12.0+34.0=46.0
Python练习实例103

题目:通过用户输入一个数字,并计算这个数字的平方根

num = float(input('请输入一个数字:'))
num_sqrt = num ** 0.5
print('{0}的平方根是{1}'.format(num, num_sqrt))

执行流程:

请输入一个数字:16
16.0的平方根是4.0

以上方式适用于正数,如果是负数和复数,我们可以这样做:

'''
计算实数和复数的平方根
'''
# 导入复杂数学运算模块
import cmath

num = int(input('请输入一个数字:'))
num_sqrt = cmath.sqrt(num)
print('{0}的平方根是{1:0.3f}+{2:0.3f}'.format(num, num_sqrt.real, num_sqrt.imag))

执行流程:

请输入一个数字:-9
-9的平方根是0.000+3.000
Python练习实例104

题目:通过用户输入参数计算二次方程的解

'''
通过用户输入参数计算二次方程的解
'''
import cmath

a = float(input('输入a:'))
b = float(input('输入b:'))
c = float(input('输入c:'))
d = b ** 2 - 4 * a * c
ret1 = (-b + cmath.sqrt(d)) / (2 * a)
ret2 = (-b - cmath.sqrt(d)) / (2 * a)
print('方程的解有:{0}和{1}'.format(ret1, ret2))

执行流程:

输入a:10
输入b:20
输入c:30
方程的解有:(-1+1.4142135623730951j)(-1-1.4142135623730951j)
Python练习实例105

题目:输入三角形三边长度,并计算三角形的面积

'''
输入三角形三边长度,并计算三角形的面积
'''
first_edge = float(input('输入第一条边:'))
second_edge = float(input('输入第二条边:'))
third_edge = float(input('输入第三条边:'))
# 需要判断输入的三边是否能构成三角形
if first_edge + second_edge > third_edge and first_edge + third_edge > second_edge and second_edge + third_edge > first_edge:
    # 计算周长的一半
    c = (first_edge + second_edge + third_edge) / 2
    # s是面积
    s = (c * (c - first_edge) * (c - second_edge) * (c - third_edge)) ** 0.5
    print('三角形的面积是:%s' % s)
    # 保留2位小数
    print('三角形的面积是:%0.2f' % s)
else:
    print('您输入的三角形边长不满足三角形的条件!')

执行流程:

输入第一条边:4
输入第二条边:5
输入第三条边:6
三角形的面积是:9.921567416492215
三角形的面积是:9.92
Python练习实例106

题目:Python如何生成随机数

'''
使用random模块的randint(a,b)(a<=返回值<=b)函数来生成随机数
'''
import random

n = 0
while n < 5:
    ret = random.randint(1, 10)  # 包括1和10
    print(ret)
    n += 1

执行流程:

2
2
7
10
6
Python练习实例107

题目:摄氏度与华氏度的互相转化

'''
摄氏度与华氏度的互相转化
'''
# 首先需要知道两者之间的关系是:摄氏度×0.8=华氏度-32
# 输入摄氏度求华氏度
celsius = float(input('请输入摄氏度:'))
fahrenheit = celsius * 0.8 + 32
print('摄氏度{0}°C对应的华氏度是{1:0.1f}°F'.format(celsius, fahrenheit))
fahrenheit = float(input('请输入华氏度:'))
celsius = (fahrenheit - 32) / 0.8
print('华氏度{0}°F对应的摄氏度是{1:0.1f}°C'.format(fahrenheit, celsius))

执行流程:

请输入摄氏度:36.2
摄氏度36.2°C对应的华氏度是61.0°F
请输入华氏度:61
华氏度61.0°F对应的摄氏度是36.2°C
Python练习实例108

题目:


执行流程:


Python练习实例109

题目:


执行流程:


Python练习实例110

题目:


执行流程:


Python练习实例111

题目:


执行流程:


Python练习实例112

题目:


执行流程:


Python练习实例113

题目:


执行流程:


Python练习实例114

题目:


执行流程:


Python练习实例115

题目:


执行流程:


Python练习实例116

题目:


执行流程:


Python练习实例117

题目:


执行流程:


Python练习实例118

题目:


执行流程:


Python练习实例119

题目:


执行流程:


Python练习实例120

题目:


执行流程:


你可能感兴趣的:(面试题,Python,Python3,100例,Python,充电)