
Python
Python基础与练习
_Amen
自律自由
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Python练习题23:数字的鲁棒输入
#complex()和complex(eval())之间的比较将能够排除非数字类型的输入num = input()try: if complex(num) == complex(eval(num)): print(eval(num) ** 2)except: print("输入有误")原创 2020-11-25 14:48:48 · 1044 阅读 · 0 评论 -
Python练习题22:文件字符分布
f = open("latex.log")s = 0 #总字符数d = {} #字典类型for i in range(26): #字典键入,0-25对应a-z,赋值为0 d[chr(ord('a')+i)] = 0for line in f: #逐行遍历文件 for i in line: #遍历一行 d[i] = d.get(i,0) + 1 s += 1 #累积总字符数print("共{}字符".format(s),end="") #不换行打印for i in range(.原创 2020-11-17 11:41:15 · 3226 阅读 · 0 评论 -
Python练习题21:CSV格式清洗与转换
f = open("data.csv")ls = f.readlines()ls = ls[::-1] #按行进行倒序排列lt = []for line in ls: line = line.strip("\n") #去掉line两端的换行符 line = line.replace(" ","") #去掉空格 lt = line.split(',') lt = lt[::-1] #每行数据倒序排列 print(";".join(lt))...原创 2020-11-17 11:17:18 · 1039 阅读 · 0 评论 -
Python练习题20:文本的平均列数
f = open("latex.log")l = 0 #总行数s = 0 #总列数for line in f: #获取的line包含每行最后的换行符\n,所以去掉再统计 line = line.strip("\n") #去掉line两端的换行符 if len(line)== 0: #去掉空行 continue l += 1 s += len(line)print(round(s/l)) #round四舍五入函数...原创 2020-11-17 11:09:46 · 2775 阅读 · 0 评论 -
Python练习题19:《沉默的羔羊》之最多单词
import jiebatxt = open("E:\\LX\\沉默的羔羊.txt", encoding='utf-8').read()words = jieba.lcut(txt) #精确模式分词,返回一个列表类型d = {} #建立一个空字典,用来存放键值对数据for word in words: d[word] = d.get(word, 0) + 1 #如果这个词语(键)在字典中,其值+1,不在则赋以0maxc = 0maxw = ""for key in d: if.原创 2020-11-09 10:32:04 · 7821 阅读 · 3 评论 -
Python练习题18:《三国演义》人物出场统计
import jieba #中文分词第三方库,使用之前要额外安装(cmd ——> pip install jieba)txt = open("E:\\LX\\threekingdoms.txt",'r',encoding = 'utf-8').read() #打开三国演义文件并读出来excludes = {"将军","却说","荆州","二人","不可","不能","如此","商议","如何",\ "主公","军士","左右","军马","引兵","次日","大喜","天下","东原创 2020-11-09 10:04:42 · 5136 阅读 · 2 评论 -
Python练习题17:字典翻转输出
s = input()try: s1 = eval(s) e = {} for k in s1: e[s1[k]] = k print(e)except: print("输入错误")原创 2020-11-07 17:24:34 · 1536 阅读 · 0 评论 -
Python练习题16:人名独特性统计
给出一个字符串,其中包含了含有重复的人名,请去重后给出独特性人名的统计。输出字符串共有多少个独特人名。s = '''双儿 洪七公 赵敏 赵敏 逍遥子 鳌拜 殷天正 金轮法王 乔峰 杨过 洪七公 郭靖 杨逍 鳌拜 殷天正 段誉 杨逍 慕容复 阿紫 慕容复 郭芙 乔峰 令狐冲 郭芙 金轮原创 2020-11-07 16:59:19 · 11856 阅读 · 4 评论 -
Python练习题15:文本词频统计:英文版哈姆雷特
文本词频统计::一篇文章,出现了哪些词?哪些词出现的最多?请统计hamlet.txt文件中出现的英文单词情况,统计并输出出现最多的10个单词,注意:原创 2020-11-07 16:31:12 · 5625 阅读 · 1 评论 -
Python练习题14:基本统计值计算——平均值、方差、中位数
给出一组数据,对它们进行总个数、求和、平均值、方差、中位数计算。def getNum(): #获取用户输入的不确定数据 nums = [] i = input("请输入数字(回车退出:)") while i != '': nums.append(eval(i)) i = input("请输入数字(回车退出:)") return numsdef avrage(nums): #平均数 sum = 0 for item in原创 2020-11-06 14:08:42 · 11964 阅读 · 4 评论 -
Python练习题13:随机密码生成
import randomdef genpwd(length): return random.randint(10**(length-1),10**length-1) #randint是从[a,b]中随机取整数length = eval(input())random.seed(17)for i in range(3): print(genpwd(length))原创 2020-10-30 19:39:05 · 2125 阅读 · 0 评论 -
Python练习题12:连续质数计算
def prime(m): for i in range(2,m): if m%i == 0: return False return Truen = eval(input())if n != int(n): n = int(n) + 1else: n = int(n)times = 0res = []while times < 5: if prime(n): times += 1 res.append(n) n += 1for i in res[:l.原创 2020-10-30 19:33:27 · 3679 阅读 · 0 评论 -
Python练习题11:汉诺塔实践
steps = 0def hanoi(src,des,mid,n): global steps if n == 1: steps += 1 print("[STEP{:>4}] {}->{}".format(steps,src,des)) else: hanoi(src,mid,des,n-1) steps += 1 hanoi(mid,des,src,n-1)n = eval(input())hanoi("A","C","B",n)原创 2020-10-30 18:51:26 · 2266 阅读 · 3 评论 -
Python练习题10:斐波那契数列计算
def fbi(n): if n == 1 or n == 2: return 1 else: return fbi(n-1) + fbi(n-2)n = eval(input())print(fbi(n))原创 2020-10-30 18:25:36 · 5471 阅读 · 1 评论 -
Python练习题9:科赫雪花小包裹
import turtledef koch(size,n): if n == 0: turtle.fd(size) else: for angle in [0,60,-120,60]: turtle.left(angle) koch(size/3,n-1) def main(level): turtle.setup(600,600) turtle.penup() turtle.goto(-200,100) turtle.pendown() turtle.pe.原创 2020-10-30 18:09:56 · 540 阅读 · 0 评论 -
Python练习题8:七段数码管绘制
import time,turtledef drawLine(draw): #画线 turtle.pendown() if draw else turtle.penup() turtle.fd(40) turtle.right(90)def drawDigit(digit): #画数字 drawLine(True) if digit in [2,3,4,5,6,8,9] else drawLine(False) drawLine(True) if digit in [0,1,3,4,5,6,.原创 2020-10-30 08:55:18 · 1671 阅读 · 0 评论 -
Python练习题7:任意累积
计算任意个输入数字的乘积示例:输入:1,2,3,4输出:24def cmul(*num): mul = 1 for i in num: mul *= i return mulprint(eval("cmul({})".format(input()))) 代码解析:首先,运用.format()函数将用户输入填充到前面的{}中,然后,通过eval()函数执行" "内的代码的功能,而cmul()的功能就是计算出乘积,最后,通过print()函数输出cmul()的返回值。这种方法精简了代原创 2020-10-30 08:32:00 · 14377 阅读 · 3 评论 -
Python练习题6:密码强度检查
判断密码是否符合要求:8位以上,包含英文大小写字母、数字import sysdef check_password(password): flag_lower = False flag_upper = False flag_digit = False flag_num = False if len(password) > 8: flag_num = True else: return False for c in password: if c.islower():原创 2020-10-26 13:52:44 · 1874 阅读 · 0 评论 -
Python练习题5:随机密码生成器
生成包含大小写字母、数字的随机密码import randomimport stringstring_lower = string.ascii_lowercase #小写字母string_upper = string.ascii_uppercase #大写字母string_digits = string.digits #数字string_all = string_lower + string_upper + string_digitsrandom.seed(0) #种子一定时,随机数一定原创 2020-10-26 11:03:48 · 1043 阅读 · 0 评论 -
Python练习题4:上周/本周/下周 周一的日期
import datetimeimport sysdef last_monday(date_str): date = datetime.datetime.strptime(datestr,"%Y-%m-%d") date = date + datetime.timedelta(-date.weekday()-7) return date.strftime("%Y-%m-%d")def this_monday(date_str): date = datetime_datetime.strpt.原创 2020-10-22 16:19:17 · 500 阅读 · 0 评论 -
Python练习题3:计算两个日期相隔的秒数
import datetimedef date_delta(start,end): start = datetime.datetime.strptime(start,"%Y-%m-%d %H:%M:%S") end = datetime.datetime.strptime(end,"%Y-%m-%d %H:%M:%S") return (end-start).total_seconds() start = input() end = input() print(date_delta(.原创 2020-10-22 15:16:49 · 2104 阅读 · 0 评论 -
Python练习题2:获得昨天和明天的日期
import sysfrom datetime import datetime,timedeltadef next_1(date_str): start = datetime.strptime(date_str,'%Y-%m-%d') next_2 = timedelta(days = 1) return (start + next_2).strftime('%Y-%m-%d') def prev_1(date_str): start_2 = datetim.原创 2020-10-22 14:12:28 · 413 阅读 · 0 评论 -
Python练习题1:编写一个函数,将形如5D,30s,的字符串转为秒
import sysdef convert_to_seconds(time_str): #定义函数,用于时间转换 if time_str[-1] in['s','S']: time_str = eval(time_str[0:-1]) elif time_str[-1] in['m','M']: time_str = eval(time_str[0:-1])*60 elif time_str[-1] in['h','H']: ti.原创 2020-10-22 11:14:12 · 256 阅读 · 0 评论