突然有一个想法,把自己练习过,及想要练习的题目或项目,发出来,一起来练习哇,先从Python基础知识开始,每天5道练习题,目前一共105道练习题,通过21天练习巩固Python的基础知识,来提升自己的代码能力。大家可以先看题目,自己练习,再看答案。当然,解题思路不唯一,欢迎大家在文章下面提供其他解题思路。

练习题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)程序源代码:

gong1=100000*0.1
gong2=gong1+100000*0.075
gong3=gong2+200000*0.05
gong4=gong3+200000*0.03
gong5=gong4+400000*0.015


i = int(input("请输入利润>>>"))
if i<=100000:
    gong=i*0.1
elif i<=200000:
    gong = gong1+(i-100000)*0.075
elif i<=400000:
    gong=gong2+(i-200000)*0.05
elif i<=600000:

    gong=gong3+(i-400000)*0.03
elif i<=1000000:
    gong=gong4+(i-600000)*0.15
else:
    gong=gong5+(i-1000000)*0.01
print("应发放奖金为:%s元"%gong)

练习题3

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

1)程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足条件,即是结果。

2)程序源代码:

import math
for i in range(-100, 10000):
    m = int(math.sqrt(i + 100))
    n = int(math.sqrt(i + 268))
    if m * m == i + 100 and n * n == i + 268:
        print(i)

练习题4

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

1)程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天。

2)程序源代码:

x=input("please enter the date:(such as:2022.2.1 )")
a,b,c=x.split(".")
a=int(a)
b=int(b)
c=int(c)
d=[0,31,28,31,30,31,30,31,31,30,31,30,31]
sum=0
if a%4==0 and a%100!=0 or a%400==0:#为闰年,二月为29
    d[2]=29
    for i in range(b):
        sum+=d[i]
    print("The day is ",sum+c)
else:
    d[2]=28
    for i in range(b):
        sum+=d[i]
    print("The day is ",sum+c)

练习题5

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

1)程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y,则将x与y的值进行交换,然后再用x与z进行比较,如果x>z,则将x与z的值进行交换,这样能使x最小。

2)程序源代码:

x = int(input("Enter 1st Number: "))
y = int(input("Enter 2nd Number: "))
z = int(input("Enter 3rd Number: "))
 
if x > y:
    x, y = y, x
if x > z:
    x, z = z, x
if y > z:
    y, z = z, y
 
print(x, y, z)

本文的题目收集于网上,如有错误,欢迎留言指正,且本文仅供学习使用

感谢各位童鞋的:点赞、收藏,我们下期更精彩!