Python学习笔记 - 实用技巧及知识点汇编


a, b, c = 10, 20, 30
print(a, b, c)
a, b, c = b, c, a
print(a, b, c)
输出结果:
10 20 30
20 30 10
score = 75
if 70 <= score < 80:
    print('成绩:良')
dict1 = {'数学': 90, '语文': 98, '英语': 93}
dict2 = {'地理': 78, '化学': 70}
dict3 = dict1 | dict2
print(dict3)
输出结果:
{'数学': 90, '语文': 98, '英语': 93, '地理': 78, '化学': 70}
key = ['数学', '语文', '英语']
value = [90, 99, 87]
result = dict(zip(key, value))
print(result)
输出结果:
{'数学': 90, '语文': 99, '英语': 87}
import random

lst = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
random.shuffle(lst)
print(lst)
输出结果:
[2, 7, 4, 6, 3, 8, 5, 1, 0, 9]
import random

lst = ['z', 'b', 'Ab', 'CDE', '5', 6, 100, True, 3.14]
result = random.sample(lst, 3)
print(result)
输出结果:
[6, 'z', 'CDE']
import random

str1 = '0123456789abcdefghijklmnopqtstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()'
result=''
for i in range(8):
    result = result+random.choice(str1)
print(result)
输出结果:
ZItOAZyC
import winsound
import win32com
from win32com.client import Dispatch, constants
import time

speak_out = win32com.client.Dispatch('sapi.spvoice')
str='今天的气温是'+'         '+'零下19度'
speak_out.speak(str)  # 输出方言解释
winsound.PlaySound(str, winsound.SND_ASYNC)  # 输出结束音
time.sleep(3)  # 不加延迟程序马上结束,上面语句的结束音出不来
import datetime

day1 = datetime.datetime(2022, 7, 17)
day2 = datetime.datetime(2022, 10, 8)
print(f'{day1.strftime("%Y-%m-%d")}与{day2.strftime("%Y-%m-%d")}相隔了' + str((day2 - day1).days) + '天!')
输出结果:
2022-07-17与2022-10-08相隔了83天!
info = ['零', '一', '二', '三', '四', '五', '六', '七', '八', '九']
data = input("请输入数字:")
for i in range(len(data)):
    print(info[int(data[i])], end='')
输出结果:
请输入数字:3698
三六九八
for num in range(3):
    pwd = input('请输入密码:')
    if pwd == '8888':
        print('输入的密码正确!')
        break
    else:
        print('输入的密码错误,请重新输入!')
else:
    print('输入次数达到上限,系统将自动退出!')
import time, sys, ctypes

'''
time库中包含sleep延迟函数
sys库中包含stdout标准输出刷新函数flush
ctypes库中包含Beep(首字母大写)蜂鸣器,第一个参数是频率,第二个参数是鸣叫时长
'''
player = ctypes.windll.kernel32
for i in range(1, 11):
    print('r', '-●-' * i, end='%d0%%' % i) # r表示返回行首,在字符串里显示%必须用%%
    sys.stdout.flush()
    player.Beep(1000, 100)
    time.sleep(1)

player.Beep(2000, 1000)
def func(opr):
    result = 0
    try:
        a = int(input('请输入第一个数:'))
        b = int(input('请输入第二个数:'))
        if opr == '+':
            result = a + b
        elif opr == '-':
            result = a - b
        elif opr == '*':
            result = a * b
        elif opr == '/':
            result = a / b
        else:
            print('您输入的操作符错误!')

    except Exception as err:
        print('出错啦!出错信息:', err)
    else:
        print('运行未发生错误')
        return result  # 由于有finally语句,这条return语句会在finally下面的语句执行完毕后再执行
    finally:
        print('-----执行finally语句-----')


r = func('+')
print('返回结果:', r)
运行结果:
请输入第一个数:2
请输入第二个数:0
运行未发生错误
-----执行finally语句-----
返回结果: 2
import sys
import time
def repeat(string):
    sys.stdout.write("r")        # 回车,让光标回到行首
    sys.stdout.flush()            # 刷新,即输出缓冲区数据
    for i in string:             # 遍历字符串
        sys.stdout.write(i)    # 写到缓冲区
        sys.stdout.flush()        # 输出
        time.sleep(0.3)           # 延迟0.3毫秒

while True:
    repeat('ABCDEFGHIJKLMNOPQRSTUVWXYZ')
word='编号   姓名           性别 年级      学校   奖项'
list=word.split(' ')
listnew=[i for i in list if i!='' ]
new=' '.join(listnew)
print(new)
输出结果:
编号 姓名 性别 年级 学校 奖项
def sign(m, d):  # 判断星座函数
    if d < date[m - 1]:  # 如果日期小于该月在date列表中对应的日期临界值
        print(sign_list[m - 1])  # 直接输出星座列表中对应月份的星座
    else:
        print(sign_list[m])  # 否则输出星座列表中下一月对应的星座


date = [20, 19, 21, 20, 21, 22, 23, 23, 23, 24, 23, 22]  # 每个月份的星座日期临界值
sign_list = ['摩羯座', '水瓶座', '双鱼座', '白羊座', '金牛座', '双子座', '巨蟹座', '狮子座', '处女座', '天秤座',
             '天蝎座', '射手座', '摩羯座']

sign(7, 15)  # 调用星座判断函数
输出结果:
巨蟹座
dic = {'11': '北京市', '12': '天津市', '13': '河北省', '14': '山西省', 
       '15': '内蒙古自治区', '22': '吉林省', '23': '黑龙江省', '31': '上海市', 
       '32': '江苏省', '33': '浙江省', '35': '福建省', '36': '江西省', '37': '山东省', 
       '41': '河南省', '42': '湖北省', '44': '广东省', '45': '广西壮族自治区', 
       '46': '海南省', '50': '重庆市', '51': '四川省', '53': '云南省', 
       '54': '西藏自治区', '61': '陕西省', '62': '甘肃省', '63': '青海省', 
       '65': '新疆维吾尔自治区', '71': '台湾省', '81': '香港', '82': '澳门'}


def idget(str):
    if dic.get(str):
        return dic[str]
    else:
        return '未知省份'

instr = input('请输入您的身份证号:')

if instr[:16].isdigit() and len(instr) == 18:
    print('你来自:', idget(instr[0:2]))
    print('你的生日是:' + instr[6:10] + '年' + instr[10:12] + '月' + instr[12:14] + '日')
    gender = '女' if int(instr[16]) % 2 == 0 else '男'
    print('你的性别是:' + gender)
输出结果:
请输入您的身份证号:220000198308124527
你来自: 吉林省
你的生日是:1983年08月12日
你的性别是:女
import random

list = ["春暖花开", "十字路口", "千军万马", "白手起家", "张灯结彩", "风和日丽", "万里长城", "人来人往", "自由自在",
        "瓜田李下", "助人为乐", "白手起家", "红男绿女", "春风化雨", "马到成功", "拔苗助长", "安居乐业", "走马观花",
        "念念不忘", "落花流水", "张灯结彩", "一往无前", "落地生根", "天罗地网", "东山再起", "一事无成", "山清水秀",
        "别有洞天", "语重心长", "水深火热", "鸟语花香", "自以为是"]
i = 1
count = 20
print('直接填写答案,回车进入下一关。什么也不填忽略本成语!!')
while True:
    word = random.choice(list)  # 随机选择成语
    bank = random.randint(0, 3)  # 随机生成要抹去的字
    new = word[:bank] + "___" + word[bank + 1:]  # 输出考题
    print(new)
    num = input("输入:")
    if not num:  # 如果直接回车则略过此题
        print("过!")
        continue
    elif num.strip(" ") == word[bank]:
        count += 2
        print("正确,你真棒!")
    else:
        count -= 2
        print("错了,正确答案:", word[bank])
    i += 1
    if i > 3:  # 答题次数
        break
print("选手最后得分:", count)

输出结果:直接填写答案,回车进入下一关。什么也不填忽略本成语!!
风和___丽
输入:日
正确,你真棒!
___往无前
输入:
过!
马到成___
输入:功
正确,你真棒!
自___自在
输入:由
正确,你真棒!
选手最后得分: 26
type_num = "BRM8S"
date = "2021:12:28"
date = date.split(":")
year_num = date[0][2:]
month = hex(int(date[1])).replace("0x", "")  # 取月份的十六进制字符
day = date[2]
date_num = year_num + month + day
start = 100
count = int(input("请输入要生成的产品序列号(SN)数量:"))
sn = ""
for i in range(count):
    num = type_num + date_num + str(start + i).zfill(5)  # 用0填充空位
    sn += num + "
"
print(sn)
gdp = '广东:97277.77:107671.07 江苏:92595.40:99631.52 ' 
      '山东:76469.70:71067.5 浙江:56197.00:62353 河南:48055.90:54259.2 ' 
      '四川:40678.10:46615.82 湖北:39366.60:45828.31 湖南:36425.78:39752.12 ' 
      '河北:36010.30:35104.5 福建:35804.04:42395'
gdp_dict = {}
gdp_list = []
base = 3000
new = gdp.split(" ")  # 切割列表
for item in new:
    gdp_list = item.split(":")  # 切割字符串
    gdp_dict.update({gdp_list[0]: [gdp_list[2], gdp_list[1]]})  # 生成字典
up = sorted(gdp_dict.items(), key=lambda x: float(x[1][0]), reverse=False)  # 使用匿名函数对字典排序
for item in up:
    lenb = format(float(item[1][0]) / base, ".0f")  # 计算需要输出的■的个数
    print(item[0].ljust(4) + "	" + int(lenb) * chr(9632) + "  2019年GDP:" + str(item[1][0]))
    lenb = format(float(item[1][1]) / base, ".0f")
    print("".ljust(4) + "	" + int(lenb) * chr(9632) + "  2018年GDP:" + str(item[1][1]))
输出结果:
河北  	■■■■■■■■■■■■  2019年GDP:35104.5
    	■■■■■■■■■■■■  2018年GDP:36010.30
湖南  	■■■■■■■■■■■■■  2019年GDP:39752.12
    	■■■■■■■■■■■■  2018年GDP:36425.78
福建  	■■■■■■■■■■■■■■  2019年GDP:42395
    	■■■■■■■■■■■■  2018年GDP:35804.04
湖北  	■■■■■■■■■■■■■■■  2019年GDP:45828.31
    	■■■■■■■■■■■■■  2018年GDP:39366.60
四川  	■■■■■■■■■■■■■■■■  2019年GDP:46615.82
    	■■■■■■■■■■■■■■  2018年GDP:40678.10
河南  	■■■■■■■■■■■■■■■■■■  2019年GDP:54259.2
    	■■■■■■■■■■■■■■■■  2018年GDP:48055.90
浙江  	■■■■■■■■■■■■■■■■■■■■■  2019年GDP:62353
    	■■■■■■■■■■■■■■■■■■■  2018年GDP:56197.00
山东  	■■■■■■■■■■■■■■■■■■■■■■■■  2019年GDP:71067.5
    	■■■■■■■■■■■■■■■■■■■■■■■■■  2018年GDP:76469.70
江苏  	■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■  2019年GDP:99631.52
    	■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■  2018年GDP:92595.40
广东  	■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■  2019年GDP:107671.07
    	■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■  2018年GDP:97277.77
word = input('请输入或者拷贝含有敏感词的宣传文字:
')
sensitive = ['第一', '国家级', '最高级', '最佳', '独一无二', '一流', '仅此一次', '顶级', '顶尖', '尖端', '极品', '极佳',
             '绝佳', '绝对', '终极', '极致', '首个', '首选', '独家', '首发', '首次', '首款', '金牌', '名牌', '王牌',
             '领袖', '领先', '领导', '缔造者', '巨星', '掌门人', '至尊', '巅峰', '奢侈', '资深', '之王', '王者', '冠军']
sensitive_find = []
newword = word
for item in sensitive:
    if word.count(item) > 0:  # 判断敏感词出现的次数
        sensitive_find.append(item + ':' + str(word.count(item)) + '次')  # 记录敏感词出现次数
        newword = newword.replace(item, '  33[1;31m' + item + '33[0m')  # 敏感词描红输出
print('发现敏感词如下:')
for item in sensitive_find:
    print(item)
print('敏感词位置已用星号进行标注:
' + newword)
输出结果:
请输入或者拷贝含有敏感词的宣传文字:
他的技术绝对一流,堪称全国第一,国家级大师!
发现敏感词如下:
第一:1次
国家级:1次
一流:1次
绝对:1次
敏感词位置已用星号进行标注:
他的技术  绝对  一流,堪称全国  第一,  国家级大师!
num = '2748123'
max_num = max(num, key=lambda x: int(x))
print(max_num)
输出结果:
8
with open('users.txt') as rfile:
    str1 = rfile.readline()
    str2 = str1.replace('
', '')
    print(str1 == str2)
输出结果:
False
word = '赵 钱 孙 李 周 吴 郑 王'
word = ''.join([i for i in word if i != ' '])
print(word)
输出结果:
赵钱孙李周吴郑王
str = '我爱40982345Python!'
new_str = str[:2] + str[10:]
print(new_str)
输出结果:
我爱Python!
# 导入汉字转拼音模块
from xpinyin import Pinyin

names = ['张三', '李四', '王五', '赵六', '田七']
pin = Pinyin()  # 创建汉字转拼音对象

temp = []  # 保存转换结果的空列表
for i in names:
    # 获取汉字的拼音,跟汉字组合成元组放到临时列表中
    temp.append((pin.get_pinyin(i), i))
print(temp)  # 输出获取拼音后的列表
temp.sort()  # 对列表进行排序
result = []  # 保存排序后的列表
for i in range(len(temp)): 
    result.append(temp[i][1])  # 取出汉字保存到新列表中
print(result)
输出结果:
[('zhang-san', '张三'), ('li-si', '李四'), ('wang-wu', '王五'), ('zhao-liu', '赵六'), ('tian-qi', '田七')]
['李四', '田七', '王五', '张三', '赵六']
展开阅读全文

页面更新:2024-04-26

标签:汉字   星号   湖北   河北   湖南   知识点   字符串   函数   拼音   实用技巧   敏感   列表

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top