佛系计算机二级 & 第三弹

写在前面

代码总是学了写,写了忘,这个抗遗忘的工作做起也恼火,要是人人都像AI一样学了就不会忘就好了,话不多说,春宵苦短,少年前进吧~

Python Round③

左对齐输入str,用@填充空白

n = eval(input("请输入正整数:"))
print("{:@>30,}".format(n))

与之前Round①不同的是里面输入的数字要用 “ , ” 分割,在限定范围后加个逗号即可。

计算两列表的值

a = [11,3,8]
b = eval(input("请输入一个列表:"))
s = 0
for i in range(3):
	s += a[i] * b[i]
print(s)

print(s)要放在循环外,不然会打印出每一个结果。

指定随机数种子输出

import random
random.seed(255)
for i in range(5):
    print(random.randint(1,50), end=" ")

五角大楼

import turtle
turtle.pensize(2)
d = 72
for i in range(5):
    turtle.seth(d)
    d += 72
    turtle.fd(200)

turtle.pensize()设置笔型号
注意turtle.seth()是转动的相对角度,因此应为五边形的补角(180-108)为75度

统计字符串频次并输出(和Round①一样的套路)

fo = open("PY202.txt","w",encoding = "utf-8")
names=input("请输入各个同学行业名称,行业名称之间用空格间隔(回车结束输入):")
txt = names.split(" ")
d = {}
for i in txt:
    d[i] = d.get(i,0)+1
ls = list(d.items())
ls.sort(key=lambda x:x[1], reverse=True) # 按照数量排序
for k in ls:
    fo.write("{}:{}\n".format(k[0],k[1]))
fo.close()

综合应用

论语文本清洗

fi = open("论语.txt","r")
fo = open("论语—清洗.txt","w",encoding = "utf-8")
flag = False				#设置标记
for i in fi:
    if "【" in fi: 			
        flag = False		#过滤掉其他【】中不需要的信息
    if "【原文】" in fi:		
        flag = True
        continue
    if flag == True:
        fo.write(fi.lstrip())
fi.close()
fo.close()
  • 和之前的一样设置了个标记
  • lstrip()去掉了左边的空字符

进一步提纯

fi = open("论语-原文.txt", "r")
fo = open("论语-提纯原文.txt", "w+",encoding="utf-8")
for line in fi:
    for i in range(1,23):
        line=line.replace("({0})".format(i),"")
    fo.write(line)
fi.close()
fo.close()
  • “r”类型文件后面不能加“encoding = “utf-8” ”
  • 因为()内为1-22的数字,故要写(1,23)
  • 最后记得写入文件,且缩进要好好研究观察!!

总结

flag = False这个已经遇到了几次,但是每次都不很懂,要注意总结这个问题。整体上来说Round③写起来要比之前好一点了,加油!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

人生苦短我愛Python

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值