python基础案例10题(一)

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

📋 前言

  • 💖 作者简介:大家好,我是阿牛😜
  • 💬格言:迄今所有人生都大写着失败,但不妨碍我继续向前!🔥

@TOC

正文💖

🍓1.数字组合

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

分析:
法一:遍历全部可能,把有重复的剃掉。
法二:⽤itertools中的permutations(排列)即可。

解法:

#法一:遍历全部可能,把有重复的剃掉。
total = 0
num_list = [1,2,3,4]
for i in num_list:
    for j in num_list:
        for k in num_list:
            if (i!=j) and (i!=k) and (j!=k):
                print(i,j,k)
                total += 1
print(total)

#法二:⽤itertools中的permutations(表示排列)即可。
import itertools
total = 0
num_list = [1,2,3,4]
for i in itertools.permutations(num_list,3):
    print(i[0],i[1],i[2])
    total = total+1
print(total)

结果:
在这里插入图片描述

🍓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,求应发放奖⾦总数?

分析:
分区间计算即可。

解法:

#法一:
I = int(input("请输入当月利润:"))
if I<=100000:
    bonus = I*0.1
elif I>=100000 and I<=200000:
    bonus = 100000*0.1 + (I-100000)*0.075
elif I>=200000 and I<=400000:
    bonus = 100000*0.1 + 100000*0.075+(I-200000)*0.05
elif I>=400000 and I<=600000:
    bonus = 100000*0.1 + 100000*0.075 + 200000*0.05 + (I-400000)*0.03
elif I>=600000 and I<=1000000:
    bonus = 100000*0.1 + 100000*0.075 + 200000*0.05 + 200000*0.03 + (I-600000)*0.015
else:
    bonus = 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + 200000 * 0.03 + 400000 * 0.015 + (I-1000000)*0.01
print(bonus)

#法二:
profit=int(input('Show me the money: '))
bonus=0
thresholds=[100000,100000,200000,200000,400000]
rates=[0.1,0.075,0.05,0.03,0.015,0.01]
for i in range(len(thresholds)):
    if profit<=thresholds[i]:
        bonus+=profit*rates[i]
        profit=0
        break
    else:
        bonus+=thresholds[i]*rates[i]
        profit-=thresholds[i]
bonus+=profit*rates[-1]
print(bonus)

结果:
在这里插入图片描述

🍓3.完全平方数

题目:
⼀个整数,它加上100后是⼀个完全平⽅数,再加上168⼜是⼀个完
全平⽅数,请问该数是多少?
完全平方数:若一个数能表示成某个整数的平方的形式,则称这个数为完全平方数。即如果一个正整数a是某一个整数b的平方,那么这个正整数a叫做完全平方数。完全平方数是非负数,零也可称为完全平方数,一个完全平方数的项有两个。举例:0、1、4、9、16、25、36、49都是完全平方数。

分析:
思路是:最坏的结果是n的平⽅与(n+1)的平⽅刚好差168,由于是平⽅的关
系,不可能存在⽐这更⼤的间隙。因为168对于指数爆炸来说实在太⼩了,所以可以直接省略数学分析,⽤最朴素的⽅法来获取上限。⾄于判断是否是完全平⽅数,最简单的⽅法是:平⽅根的值⼩数为0即可。

解法:

# 获取上限
n=0
while (n+1)**2-n*n<=168:
    n += 1

#遍历找出结果
for i in range((n+1)**2):
    if i**0.5 == int(i**0.5) and (i+168)**0.5 == int((i+168)**0.5):
        print(i-100)

结果:
在这里插入图片描述

🍓4.这天第几天

题目:
输⼊某年某⽉某⽇,判断这⼀天是这⼀年的第⼏天?

分析:
特殊情况,闰年时需考虑⼆⽉多加⼀天

解法:

#判断是否是润年的函数
def isLeapYear(y):
    if((y%400==0 or (y%4==0 and y%100!=0))):
        return True
    else:
        return False
#把1到11月对应的天数写进列表中,列表零位存0
months_day = [0,31,28,31,30,31,30,31,31,30,31,30]
res = 0
year,month,day = map(int,input("请输入年月日,中间用逗号隔开:").split(","))
if isLeapYear(year):
    months_day[2] += 1
for i in range(1,month):
    res += months_day[i]
print(res+day)

结果:
在这里插入图片描述

🍓5.数字排序

题目:
输⼊任意个整数,请把这几个数由⼩到⼤输出。

分析:
练练⼿就随便找个排序算法实现⼀下,偷懒就直接调函数。

解法:

#法一:排序算法(选择排序)
num_list = list(map(int,input("输入任意个数,以空格隔开:").split(" ")))
for i in range(len(num_list)-1):
    for j in range(i+1,len(num_list)):
        if num_list[i]>num_list[j]:
            t = num_list[j]
            num_list[j] = num_list[i]
            num_list[i] = t
print(num_list)

#法二:用内置函数sort对列表排序
num_list = list(map(int,input("输入三个数,以空格隔开:").split(" ")))
num_list.sort()
print(num_list

结果:
在这里插入图片描述

🍓6.斐波那契数列

题目:
求斐波那契数列某一项的值。

分析:
斐波那契数列(Fibonacci sequence),从1,1开始,后⾯每⼀
项等于前⾯两项之和。图⽅便就递归实现,图性能就⽤循环。

解法:

#法一:递归
def Fib(i):
        if i<=2:
            return 1;
        else:
            return Fib(i-1) + Fib(i-2)

print(Fib(int(input("请输入你要求的项:"))))

#法二:循环
target = int(input("请输入你要求的项:"))
a,b = 1,1
for i in range(target-2):
        t = a+b
        a = b
        b = t
print(b)

结果:
在这里插入图片描述

🍓7.列表拷贝-copy

题目:
将⼀个列表的数据复制到另⼀个列表中。

分析:
使⽤列表[:],拿不准可以调⽤copy模块。

解法:

import copy
a = [1,2,3,4,['a','b']]
b = a # 赋值 - 引用,a,b指向同一对象
c = a[:] # 浅拷⻉
d = copy.copy(a) # 浅拷⻉ - 拷贝当前对象,子对象还是引用
e = copy.deepcopy(a) # 深拷⻉ - 拷贝当前对象,子对象也拷贝
a.append(5)
a[4].append('c')
print('a=',a)
print('b=',b)
print('c=',c)
print('d=',d)
print('e=',e)

结果:
在这里插入图片描述

🍓8.九九乘法表

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

分析:
分⾏与列考虑,共9⾏9列,i控制⾏,j控制列。

解法:

for i in range(1,10):
    for j in range(1,i+1):
        print("%d*%d=%2d"%(i,j,i*j),end=" ")
    print() #换行

结果:
在这里插入图片描述

🍓9.暂停一秒输出

题目:
让程序暂停⼀秒输出。

分析:
使⽤ time 模块的 sleep() 函数。

解法:

import time
#time.time()生成时间戳
#time.sleep()让程序暂停一秒
for i in range(4):
    print(time.time())
    print(int(time.time()))
    print(str(int(time.time()))[-2:]) #取时间戳整数部分的字符串的后两位
    time.sleep(1)

结果:
在这里插入图片描述

🍓10.格式化时间

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

分析:
time.localtime() 函数,作用是格式化时间戳为本地的时间。
time.strftime()函数,日期格式化,格式化成2021-03-20 11:45:39形式

解法:

import time
for i in range(4):
    # time.localtime() 函数类似gmtime(),作用是格式化时间戳为本地的时间。
    # 结果是时间元祖
    print(time.localtime(time.time()))
    #日期格式化,格式化成2016-03-20 11:45:39形式
    print(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())))
    time.sleep(1)

结果:
在这里插入图片描述

结语💖


它来了!它来了!准备了这么久,python基础案例100题开张啦,欢迎小伙伴们前来围观,python 不像其他语言,它含有很丰富的各种模块供我们使用,看过上面题的小伙伴可能已经发现了,这次的10道题中出现了copy,time,itertools模块,这几个模块在Python中很常见,用处很大,希望小伙伴们下去好好学习一下哦!让我们一起加油吧!!! 喜欢博主的内容就一键三连哦! 喜欢💖=点赞👍+收藏⭐️+留言📝 🔥勇敢牛牛,不怕困难!🔥 ![勇敢牛牛,不怕困难](https://ucc.alicdn.com/images/user-upload-01/cc81582245444788a4d9e3b472f857ed.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6aaG5Li76Zi_54mb,size_10,color_FFFFFF,t_70,g_se,x_16)
相关文章
|
14天前
|
Python
python集合的创建案例分享
【4月更文挑战第11天】在Python中,通过大括号或`set()`函数可创建集合。示例包括:使用大括号 `{}` 创建带元素的集合,如 `{1, 2, 3, 4, 5}`;使用 `set()` 函数从列表转换为集合,例如 `set([1, 2, 3, 4, 5])`,以及创建空集合 `set()`。当元素有重复时,集合会自动去重,如 `set([1, 2, 2, 3, 4, 4, 5])`。但尝试将不可哈希元素(如列表、字典)放入集合会引发 `TypeError`。
17 1
|
18天前
|
Python
Python文件操作学习应用案例详解
【4月更文挑战第7天】Python文件操作包括打开、读取、写入和关闭文件。使用`open()`函数以指定模式(如'r'、'w'、'a'或'r+')打开文件,然后用`read()`读取全部内容,`readline()`逐行读取,`write()`写入字符串。最后,别忘了用`close()`关闭文件,确保资源释放。
18 1
|
2月前
|
数据采集 JSON JavaScript
Python爬虫案例:抓取猫眼电影排行榜
python爬取猫眼电影排行榜数据分析,实战。(正则表达式,xpath,beautifulsoup)【2月更文挑战第11天】
70 2
Python爬虫案例:抓取猫眼电影排行榜
|
1月前
|
JSON JavaScript 前端开发
Python中使用JsonPath:概念、使用方法与案例
Python中使用JsonPath:概念、使用方法与案例
43 0
|
2天前
|
人工智能 Python
【AI大模型应用开发】【LangChain系列】实战案例1:用LangChain写Python代码并执行来生成答案
【AI大模型应用开发】【LangChain系列】实战案例1:用LangChain写Python代码并执行来生成答案
6 0
|
7天前
|
机器学习/深度学习 人工智能 自然语言处理
总结几个GPT的超实用之处【附带Python案例】
总结几个GPT的超实用之处【附带Python案例】
|
10天前
|
Python
[重学Python]Day 2 Python经典案例简单习题6个
[重学Python]Day 2 Python经典案例简单习题6个
14 0
|
18天前
|
Python
Python数据类型学习应用案例详解
Python基础数据类型包括整数(int)、浮点数(float)、字符串(str)、布尔值(bool)、列表(list)、元组(tuple)、字典(dict)和集合(set)。整数和浮点数支持算术运算,字符串是不可变的文本,布尔值用于逻辑判断。列表是可变有序集合,元组不可变。字典是键值对的无序集合,可变,而集合是唯一元素的无序集合,同样可变。示例代码展示了这些类型的基本操作。
11 1
|
18天前
|
Python
Python控制结构学习应用案例详解
Python控制结构包含条件语句、循环语句和异常处理。条件语句用if-elif-else判断数字正负;for循环示例输出1到10的整数,while循环计算1到10的和;异常处理用try-except-finally处理除零错误,打印提示信息并结束。
10 3
|
18天前
|
Python
Python函数学习应用案例详解
【4月更文挑战第7天】学习Python函数的应用,包括计算两数之和、判断偶数、计算阶乘、生成斐波那契数列及反转字符串。示例代码展示了函数接收参数和返回结果的功能,如`add(a, b)`求和,`is_even(num)`判断偶数,`factorial(n)`计算阶乘,`fibonacci(n)`生成斐波那契数,以及`reverse_string(s)`反转字符串。
14 1