【Python3】《Python100经典练习题》

2023-12-31 13:58

本文主要是介绍【Python3】《Python100经典练习题》,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

因本人刚开始写博客,学识经验有限,如有不正之处望读者指正,不胜感激;也望借此平台留下学习笔记以温故而知新。这一篇文章主要是最近阅读学习的书籍,算法都比较基础,可用于新手练习感觉。

《Python100经典练习题》百度网盘链接:
https://pan.baidu.com/s/1K2HHYpiRddGFhvd96sIj1Q

提取码:5hax

推荐指数:4颗星

附相关练习代码:
前50道(因该书也针对C和C++练习,所以有的要求python中无法实现,只能跳过)

# -*- coding: utf-8 -*-
"""
Spyder EditorThis is a temporary script file.
"""'''
1.s = 0
for i in range(1,5):for j in range(1,5):for k in range(1,5):if (i!=j) and (i!=k) and (j!=k):num = 100*i+j*10+kprint(num)s+=1
print(s)
''''''
2.I = int(input())
i1 = 10*10/100
i2 = i1+10*7.5/100
i4 = i2+20*5/100
i6 = i4+20*3/100
i10 = i6+40*1.5/100
if I<10:interest = I*10/100
elif I<20:interest = i1+(I-10)*7.5/100
elif I<40:interest = i2+(I-20)*5/100
elif I<60:interest = i4+(I-40)*3/100
elif I<100:interest = i6+(I-60)*1.5/100
else:interest = i10+(I-100)*1/100
print (interest)
''''''
3.import math 
for i in range(10000):x = int(math.sqrt(i+100))y = int(math.sqrt(i+268))if (x*x==i+100) and (y*y==i+268):print(i)
''''''
4.date = input().split()
year = int(date[0])
month = int(date[1])
day = int(date[2])mon_1 = 31
if year/4==0:mon_2 = mon_1+29
else:mon_2 = mon_1+28
mon_3 = mon_2+31
mon_4 = mon_3+30
mon_5 = mon_4+31
mon_6 = mon_5+30
mon_7 = mon_6+31
mon_8 = mon_7+31
mon_9 = mon_8+30
mon_10 = mon_9+31
mon_11 = mon_10+30if month==1:days = day
elif month==2:days = mon_1+day
elif month==3:days = mon_2+day
elif month==4:days = mon_3+day
elif month==5:days = mon_4+day
elif month==6:days = mon_5+day
elif month==7:days = mon_6+day
elif month==8:days = mon_7+day
elif month==9:days = mon_8+day
elif month==10:days = mon_9+day
elif month==11:days = mon_10+day
else:days = mon_11+day
print(days)
''''''
5.x = int(input())
y = int(input())
z = int(input())list = [x,y,z]
list.sort()
print(list)
''''''
6.print('*'*10)
for i in range(5):print('*          *')
print('*'*10)
print('*\n'*6)
''''''
8.for i in range(1,10):for j in range(1,10):print('%d X %d = %d ' %(i,j,i*j))
''''''
9.for i in range(1,10):for j in range(1,10):result = i*jprint('%d*%d=%-3d'%(i,j,result))print('')
''''''
10.import sys
for i in range(8):for j in range(8):if(i+j)%2==0:sys.stdout.write(chr(220))sys.stdout.write(chr(219))else:sys.stdout.write('  ')print(' ')
''''''
10.import sys
sys.stdout.write(chr(1))
sys.stdout.write(chr(1))
print('')for i in range(1,11):for j in range(1,i):sys.stdout.write(chr(219))sys.stdout.write(chr(219))print('')
''''''
11.s = 0
def fac(a,b):sum = a+bprint(a)a = bb = sumif b<100:fac(a,b)
fac(1,1)
''''''
12.import math
for i in range(101,201):end = math.floor(math.sqrt(i))for j in range(2,end):
#        print(j)if i%j==0:breakelse:print(i)
''''''
13.for i in range(100,1000):high = int(i/100)mid = int((i/10)%10)low = int(i%10)if i==high**3+mid**3+low**3:print(i)
''''''
14.from sys import stdout
n = int(input())
for i in range(2,n):if n%i==0:stdout.write(str(i))stdout.write('*')n = n/ielse:break
print(n)
''''''
17.str = input()
letter = 0
space = 0
num = 0
others = 0
for c in str:if c.isalpha():letter+=1elif c.isspace():space+=1elif c.isdigit():num+=1else:others+=1
print('letters=%s,space=%s,num=%s,others=%s'%(letter,space,num,others))
''''''
18.a = int(input())
n = int(input())
s = [a]
aa = a
for i in range(1,n):aa = a*(10**i)+aas.append(aa)
print(s)
print(sum(s))
''''''
19.for i in range(1,1000):l = []for j in range(1,i):if i%j==0:l.append(j)if i==sum(l):print(i)
''''''
20.high = 100
sum = high
for i in range(1,11):high = high/2sum += 2*high
print('Total distance:%s,High:%s'%(sum,high))
''''''
21.sum = 1
for i in range(1,10):sum = (sum+1)*2
print(sum)
''''''
22.for i in range(ord('x'),ord('z')+1):for j in range(ord('x'),ord('z')+1):if i!=j:for k in range(ord('x'),ord('z')+1):if (i!=k) and(j!=k):if (i!=ord('x'))and(k!=ord('x'))and(k!=ord('z')):print('a-%s,b-%s,c-%s'%(chr(i),chr(j),chr(k)))
''''''
23.s = '*'
for i in range(1, 8, 2):print((s*i).center(7))
for i in reversed(range(1, 6, 2)):print((s*i).center(7))
''''''
24.num = 2
den = 1
sum = 0
for i in range(20):sum+=(num/den)num,den = num+den,num
print(sum)
''''''
25.sum = 0 
a = 1
for i in range(1,21):pro = i*aa = prosum+=pro
print(sum)
''''''
26.def fac(i):if i==0:return 1else:return i*fac(i-1)
print(fac(5))
''''''
27.def reverse(n):next = 0if n<=1:next = input()print (next)else:next = input()reverse(n-1)print(next)
reverse(5)
''''''
28.i = 10
s = i
for j in range(2,6):s+=2
print(s)
''''''
28.def age(n):if n==1:c = 10else:c = age(n-1)+2return c
print(age(5))
''''''
29.x = int(input('input a number:\n'))
n5 = int(x/10000)
n4 = int(x%10000/1000)
n3 = int(x%1000/100)
n2 = int(x%100/10)
n1 = int(x%10)
if n5!=0:print('there are %s nums'%(5),n5,n4,n3,n2,n1)
else:if n4!=0:print('there are %s nums'%(4),n4,n3,n2,n1)else:if n3!=0:print('there are %s nums'%(3),n3,n2,n1)else:if n2!=0:print('there are %s nums'%(2),n2,n1)else:print('there are %s nums'%(1),n1)
''''''
30.x = int(input('input a number:\n'))
n5 = int(x/10000)
n4 = int(x%10000/1000)
n3 = int(x%1000/100)
n2 = int(x%100/10)
n1 = int(x%10)
if n1==n5 and n2==n4:print('Yes')
else:print('No')
''''''
31.s = input('put a date:\n')
if s=='M':print('星期一')
elif s=='T':print('Not enough,put a next date:\n')s1 = input()if s1=='U':print('星期二')elif s1=='H':print('星期四')
elif s=='W':print('星期三')
elif s=='F':print('星期五')
elif s=='S':print('Not enough,put a next date:\n')s1 = input()if s1=='U':print('星期日')elif s1=='A':print('星期六')
else:print('不是星期的表示')
''''''
33.import os
os.system('cls')
''''''
34.def hello_word():print('hello world')
def three_hellos():for i in range(3):hello_word()
if __name__=='__main__':three_hellos()
''''''
37.print('put in ten nums:\n')
N = 10
l = []
for i in range(10):a = input('')l.append(a)
for i in range(N-1):min = ifor j in range(i+1,N):if l[min]>l[j]:min=jl[i],l[min]=l[min],l[i]
for i in range(N):print(l[i])
''''''
38.print('put in a num:\n')
a = []
sum = 0
for i in range(3):a.append([])for j in range(3):a[i].append(int(input()))
print(a)
for i in range(3):sum+=a[i][i]
print(sum)
''''''
39.if __name__=='__main__':a = [1,2,4,6,8,10,12,13,14,15]num = int(input())if num>a[len(a)-1]:a.append(num)else:for i in range(len(a)):if a[i]>num:a.insert(i,num)breakprint(a)
''''''
40.if __name__=='__main__':a = [1,2,3,4,5]for i in range(int(len(a)/2)):a[i],a[len(a)-1-i]=a[len(a)-1-i],a[i]
print(a)
'''''' 
50.maxing = lambda x,y:(x>y)*x+(x<y)*y
a = 10
b = 20
print('the larger is %d'%maxing(a,b))
'''

这篇关于【Python3】《Python100经典练习题》的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/556224

相关文章

Python3中Sanic中间件的使用

《Python3中Sanic中间件的使用》Sanic框架中的中间件是一种强大的工具,本文就来介绍Python3中Sanic中间件的使用,具有一定的参考价值,感兴趣的可以了解一下... 目录Sanic 中间件的工作流程中间件的使用1. 全局中间件2. 路由中间件3. 异常处理中间件4. 异步中间件5. 优先级

dp算法练习题【8】

不同二叉搜索树 96. 不同的二叉搜索树 给你一个整数 n ,求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种?返回满足题意的二叉搜索树的种数。 示例 1: 输入:n = 3输出:5 示例 2: 输入:n = 1输出:1 class Solution {public int numTrees(int n) {int[] dp = new int

Python3 BeautifulSoup爬虫 POJ自动提交

POJ 提交代码采用Base64加密方式 import http.cookiejarimport loggingimport urllib.parseimport urllib.requestimport base64from bs4 import BeautifulSoupfrom submitcode import SubmitCodeclass SubmitPoj():de

HotSpot虚拟机的经典垃圾收集器

读《深入理解Java虚拟机》第三版笔记。 关系 Serial、ParNew、Parallel Scavenge、Parallel Old、Serial Old(MSC)、Concurrent Mark Sweep (CMS)、Garbage First(G1)收集器。 如图: 1、Serial 和 Serial Old 收集器 2、ParNew 收集器 3、Parallel Sc

STL经典案例(四)——实验室预约综合管理系统(项目涉及知识点很全面,内容有点多,耐心看完会有收获的!)

项目干货满满,内容有点过多,看起来可能会有点卡。系统提示读完超过俩小时,建议分多篇发布,我觉得分篇就不完整了,失去了这个项目的灵魂 一、需求分析 高校实验室预约管理系统包括三种不同身份:管理员、实验室教师、学生 管理员:给学生和实验室教师创建账号并分发 实验室教师:审核学生的预约申请 学生:申请使用实验室 高校实验室包括:超景深实验室(可容纳10人)、大数据实验室(可容纳20人)、物联网实验

嵌入式面试经典30问:二

1. 嵌入式系统中,如何选择合适的微控制器或微处理器? 在嵌入式系统中选择合适的微控制器(MCU)或微处理器(MPU)时,需要考虑多个因素以确保所选组件能够满足项目的具体需求。以下是一些关键步骤和考虑因素: 1.1 确定项目需求 性能要求:根据项目的复杂度、处理速度和数据吞吐量等要求,确定所需的处理器性能。功耗:评估系统的功耗需求,选择低功耗的MCU或MPU以延长电池寿命或减少能源消耗。成本

Leetcode面试经典150题-128.最长连续序列-递归版本另解

之前写过一篇这个题的,但是可能代码比较复杂,这回来个简洁版的,这个是递归版本 可以看看之前的版本,两个版本面试用哪个都保过 解法都在代码里,不懂就留言或者私信 class Solution {/**对于之前的解法,我现在提供一共更优的解,但是这种可能会比较难懂一些(思想方面)代码其实是很简洁的,总体思想如下:不需要排序直接把所有数放入map,map的key是当前数字,value是当前数开始的

力扣 739. 每日温度【经典单调栈题目】

1. 题目 理解题意: 1.1. 给一个温度集合, 要返回一个对应长度的结果集合, 这个结果集合里面的元素 i 是 当前 i 位置的元素的下一个更高温度的元素的位置和当前 i 位置的距离之差, 若是当前元素不存在下一个更高温度的元素, 则这个位置用0代替; 2. 思路 本题用单调栈来求解;单调栈就适用于来求当前元素左边或者右边第一个比当前元素大或者小的元素;【单调栈:让栈中的元素保持单调

C语言练习题之 数组中出现次数超过一半的数

题目描述 给一个长度为 n 的数组,数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。 例如输入一个长度为9的数组[1,2,3,2,2,2,5,4,2]。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。 数据范围:n≤50000,数组中元素的值0≤val≤10000 要求:空间复杂度:O(1),时间复杂度O(n) 输入描述: 保证数组输入非空,且保证有

Python安装:Mac 使用brew 安装Python2 和 Python3

安装python ## python2brew install python ## python3brew install python3 出现错误 Error: An unexpected error occurred during the `brew link` stepThe formula built, but is not symlinked into /usr/loc