Python3 入门经典100例 | 菜鸟教程 1-10题

编程知识 行业动态 更新时间:2024-06-13 00:20:50

Python3 100例 | 菜鸟教程 习题链接
题1:
题目:有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?
方法一:

import itertools
l = list(itertools.permutations([1,2,3,4],3))
print(len(l))
print(l)
# 24
# [(1, 2, 3), (1, 2, 4), (1, 3, 2), (1, 3, 4), (1, 4, 2), (1, 4, 3), (2, 1, 3), (2, 1, 4), (2, 3, 1), (2, 3, 4), (2, 4, 1), (2, 4, 3), (3, 1, 2), (3, 1, 4), (3, 2, 1), (3, 2, 4), (3, 4, 1), (3, 4, 2), (4, 1, 2), (4, 1, 3), (4, 2, 1), (4, 2, 3), (4, 3, 1), (4, 3, 2)]

方法二:

l = []
for i in range(1,5):
    for j in range(1,5):
        for k in range(1, 5):
            if i != j and j != k and i != k:
                l2 = []
                l2.append(i)
                l2.append(j)
                l2.append(k)
                l.append(l2)
print(len(l))
print(l)
# 24
# [[1, 2, 3], [1, 2, 4], [1, 3, 2], [1, 3, 4], [1, 4, 2], [1, 4, 3], [2, 1, 3], [2, 1, 4], [2, 3, 1], [2, 3, 4], [2, 4, 1], [2, 4, 3], [3, 1, 2], [3, 1, 4], [3, 2, 1], [3, 2, 4], [3, 4, 1], [3, 4, 2], [4, 1, 2], [4, 1, 3], [4, 2, 1], [4, 2, 3], [4, 3, 1], [4, 3, 2]]

题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,求应发放奖金总数?
方法一:

def Profit(l):
    l1 = 0.1 * 100000
    l2 = l1 + 0.075 * (l - 100000)
    l3 = l2 + 0.05 * (l - 200000)
    l4 = l3 + 0.03* (l - 400000)
    l5 = l4 + 0.015 * (l - 600000)
    l6 = l5 + 0.01 * (l - 1000000)
    if l <= 100000:
        return l * 0.1
    elif l <= 200000:
        return l2
    elif l <= 400000:
        return l3
    elif l <= 600000:
        return l4
    elif l <= 1000000:
        return l5
    else:
        return l6
Profit(160000)

方法二:

def Profit(l):
    money = [1000000, 600000, 400000, 200000, 100000, 0]
    rat = [0.01, 0.015, 0.03, 0.05, 0.075, 0.1]
    profit = 0
    for i in range(0, 6):
        if l > money[i]:
            profit += (l-money[i])*rat[i]
            l = money[i]
    return profit
Profit(160000)

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

import math
def intNum(n):
    k = int(math.sqrt(n))
    return n == k*k
for i in range(-100, 10000000):
    if intNum(i+100):
        if intNum(i+268):
            print(i)

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

year = int(input('输入年:'))
month = int(input('输入月:'))
day = int(input('输入日:'))
month_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
day_list = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
s1 = 0
s = 0
for i in day_list[:(month-1)]:
    s1 += i
s = s1 + day
if year % 4== 0 and month >=3:
    s = s + 1
print('今天是今年的第%d天'%s)

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

x = int(input('输入第一个数:'))
y = int(input('输入第二个数:'))
z = int(input('输入第三个数:'))
l = [x, y, z]
l.sort() #l.sort(reverse=True)从大到小排序
print(l)

题6:
题目:斐波那契数列。

程序分析:斐波那契数列(Fibonacci sequence),又称黄金分割数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……。

在数学上,费波那契数列是以递归的方法来定义:
F0 = 0 (n=0)
F1 = 1 (n=1)
Fn = F[n-1]+F[n-2] (n=>2)

方法一:

def fibSeq(n):
    s = 0
    a = 0 #表示F(n-2)
    b = 1 #表示F(n-1)
    if n==0 or n==1:
        return n
    for i in range(2, (n+1)):
        s = a + b
        a = b
        b = s
    return s
fibSeq(10)

方法二:递归

def fibSeq(n):
    if n==0 or n==1:
        return n
    return fibSeq(n-1) + fibSeq(n-2)
fibSeq(10)

题7:
题目:将一个列表的数据复制到另一个列表中。
方法一:

a = [1, 2, 3]
b = a
print(b)

方法二:(或许应该用方法二)

a = [1, 2, 3]
b = a[:]
print(b)

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

for i in range(1, 10): # 控制行
    for j in range(1, i+1): # 控制列
        print(j, 'x', i, '=', j*i, sep='', end='\t') # end='\t'相当于每次打印结束不换行,而是在末尾添加\t(tab);
        # 而sep=''表示每个打印的字符之间用‘’内的内容衔接,去掉默认带有的空格
    print() # 每打印完一行就最最后打印一个空白,相当于屏蔽掉前面的'\t',完成换行操作(for循环自动换行打印)

题9:
题目:暂停一秒输出。

程序分析:使用 time 模块的 sleep() 函数。

import time
l = [1, 2, 3, 4]
for i in l:
    print(i)
    time.sleep(1)

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

import time,datetime
for i in range(1000):
    print(datetime.datetime.now())
    print(datetime.datetime.now().strftime("%Y-%m-%d %H.%M.%S"))
    time.sleep(1)

更多推荐

Python3 入门经典100例 | 菜鸟教程 1-10题

本文发布于:2023-03-30 16:34:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/f55272d5b3116b0fc7216a26b8b692c6.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:菜鸟   入门   教程   经典

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!