Python基础教程:7个经典程序示例

1. 调换元素.\

def que1():

d={1:“one”,2:“two”}

方法1 — 动态赋值

def method1(d):

d = d.copy()

result = {}

for k,v in d.items():

result[v] = k

return result

方法2 — 生成器

def method2(d):

d = d.copy()

result = {v:k for k,v in d.items()}

return result

方法3 — 由值寻找键

def method3(d):

d = d.copy()

由键寻找值

def match(dic, b):

return [k for k,v in dic.items() if v == b]

先生成key-None,再赋值

result = {}

result = result.fromkeys(d.values())

for k in result.keys():

result[k] = match(d, k)[0]

return result

方法4 — 列表转字典 < 直接转换/动态赋值 >

def method4(d):

d = d.copy()

key = d.keys()

val = d.values()

data = list(zip(key, val))

方法4-1

result1 = {}

for i in range(len(data)):

result1[data[i][1]] = data[i][0]

方法4-2

result2 = dict(zip(val, key))

return result1, result2

print(‘新列表动态赋值方法:{}’.format(method1(d)))

print(‘生成器方法:{}’.format(method2(d)))

print(‘由键寻值方法:{}’.format(method3(d)))

print(‘动态赋值列表转字典方法:{}’.format(method4(d)[0]))

print(‘直接列表转字典方法:{}’.format(method4(d)[1]))

que1()

3.删除列表中的重复元素

‘’’

遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025

寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!

‘’’

3. 删除重复元素list =[1,2,5,4,1,5,6,8,0,2,5]

a = np.random.randint(-100, 100, size=10)

a = a.tolist()

def method1(a):

a = a.copy()

a = set(a)

return a

def method2(a):

b = a.copy()

c = 0

for i in range(len(a)-1):

if b[i+c] in b[:i+c]+b[i+c+1:]:

b.pop(i+c)

c -= 1

return b

print(‘集合法:’,method1(a))

print(‘遍历法:’,method2(a))

4.输出质数

def prime(end):

prime_list = []

if end <= 1:

print(‘必须大于1’)

else:

prime_list.append(2)

for i in range(2, end+1, 1):

count = 0

if i == 2:

if i%2 != 0:

prime_list.append(2)

else:

for m in range(2, i):

能够整除,则跳出循环

if (i % m) == 0:

print(i, m)

break

否则计数+1

else:

count += 1

判断是否整除完成(0/n)

if count == i - 2:

prime_list.append(i)

print(count, i, m)

return (prime_list)

num = int(input(‘想输出2到多少?’))

print(prime(num))

5.判断是一年中第几天

def que3():

3.输入某年某月某日,判断这一天是这一年的第几天?:

闰年判断函数

def judge_leap(num):

date = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]

(四年一闰 and not百年) or 四百年闰

if (num % 4 == 0 and num % 100 != 0) or num % 400 ==0:

date[1] =29

return date

格式转换

date = (input(‘请输入一个日期,格式如:“2018.02.12”:’))

date_list = (list(map(int, (date.split(‘.’)))))

遍历计算天数

day = date_list[2]

for i in range(date_list[1]):

day += judge_leap(date_list[0])[i]

print(‘{}月{}日是{}年的第{}天\n’.format(date_list[1], date_list[2], date_list[0], day))

que3()

6.猜数字

重新猜数字

import random

def judge_num(num, num_random):

if num > num_random:

print(‘It’s too big’)

return 1

elif num < num_random:

print(‘It’s too small’)

return 1

else:

print(“Congratulation!! That’ right!”)

return 0

产生随机数

num_start = int(input(‘Digital lower limit of guess number:\n’))

num_end = int(input(‘Digital upper limit of guess number:\n’))

num_random = random.randint(num_start, num_end)

参数初始化

result = 1 # 判断结果

i = 0 # 循环次数

frequency = 3 # 循环限制次数

提示总猜测次数、剩余次数

print('WARNING: You have【{}】 chances you guess '.format(frequency), end = ‘–&&>>–’)

print(‘【{}】 chances left now:\n’.format(frequency - i +1))

while result and i != frequency:

猜数字

num = int(input(‘Please guess a int_number:\n’))

result = judge_num(num, num_random)

i += 1

7.进制转换

任意进制转十进制

def other_to_decimal(hex, num):

整型转化为列表,

num_str = str(num)

map()将List对象中的元素(list类型)转化为集合(set)类型

num_list = list(map(int, num_str))

列表反序

num_list = num_list[::-1]

print(list(map(int, num_str)))

获取数字位数

digit = len(num_list)

num_decimal = 0

累加

for i in range(digit):

numi = num_list[i]

print(numi, hex**i)

num_decimal += numi*(hex**i) # 对每一位数的幂指数累加

return num_decimal

十进制转任意进制

def decimal_to_other(hex, num):

获取数字位数

digit = len(str(num))

num_hex = []

quotient = 1

相除,余数计入列表num_hex

while quotient:

取余和取商

quotient = num // hex

remainder = num % hex

print(quotient, remainder)

余数计入列表

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注:Python)

LHk-1713637406326)]

[外链图片转存中…(img-yhBeJWMJ-1713637406326)]

[外链图片转存中…(img-kDmTOEa7-1713637406327)]

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注:Python)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值