Python-100-Days-master
跟着python100学习一下
100以内的素数
# 输出100以内的所有素数
# 想法:从1到100遍历,假设得到了i=17,那么此时从1到9遍历,如果找到了一个数用17能除尽则跳出循环
# 如果找不到这个数,那么把i输出为素数
for i in range(2,100):
flag = True
for k in range(2,int(i/2)+1):
if i%k == 0:
flag = False
break
if flag:
print("%d为素数"%i)
10000以内完美数
# 找出10000以内的完美数
# 所有的真因子(即除了自身以外的因子)的和(即因子函数)恰好等于它本身
# 6($6=1+2+3$)和28($28=1+2+4+7+14$)
# 思路:从3到10000遍历,如此时找到的数为8,那么把它进行因式分解,用一个列表进行添加。首先是1,1能被8整除,添加
# 然后是2,2也可以被整除,添加,最后添加4,不添加8
# 然后从列表进行遍历,如果所有数字加和是这个数,那么就输出
for i in range(3,10000):
list1 = []
for j in range(1,i):
if i%j == 0:
list1.append(j)
sum = 0
for k in list1:
sum += k
if sum == i:
print(i)
斐波那契数列前20个数
# 生成斐波那契数列的前20个数
# 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144
# 应该写一个迭代函数fn(),如果是0或者1,则返回1,其余则返回fn(n-1)+fn(n-2)
# fn(1)=1,fn(2)=1
def fn(n):
if n == 2 or n == 1:
return 1
else:
return fn(n-1)+fn(n-2)
for i in range(1,21):
print("fn(%d):%d"%(i,fn(i)))
百钱百鸡
# 公鸡5元一只,母鸡3元一只,小鸡1元三只,用100块钱买一百只鸡,问公鸡、母鸡、小鸡各有多少只?
for little in range(101):
for f in range(34):
for m in range(21):
if m*5+f*3+little/3 == 100:
print("公鸡为:%d\n母鸡为:%d\n小鸡为:%d"%(m,f,little))
print("\n")
水仙数
# 寻找水仙数
# 描述:水仙数是三位数,每位数的立方和为数本身
for i in range(100,1000):
sum1 = 0
k = str(i)
for j in k:
sum1 += int(j)*int(j)*int(j)
if sum1 == i:
print(i)
公约数
def gongyueshu(m,n):
num = 0
total = 1
if m>n:
num = n
else:
num = m
while num>=1:
if m%num == 0 and n%num == 0:
total = num
break
else:
num -= 1
print(total)
公倍数
def gongbeishu(m,n):
num = m
while num%n!=0 or num%m!=0:
num += 1
print(num)
回文数
# 实现判断一个数是不是回文数的函数
# 给定一个数,获得各位置的数字
# 如743,当743//10不为0,首先743%10获得3,然后743//10获得74,然后均存在列表中
def huiwen(n):
flag = True
list1 = []
while True:
list1.append(n%10)
n = n//10
if n == 0:
break
for i in range(len(list1)):
if list1[i] != list1[len(list1)-i-1]:
flag = False
break
print(flag)
生成器和匿名函数
dataSet = [[1, 1, 'yes'],
[1, 1, 'yes'],
[1, 0, 'no'],
[0, 1, 'no'],
[0, 1, 'no']]
firstLineList = [example[0] for example in dataSet]
tempDict = {}
for value in firstLineList:
if value not in tempDict:
tempDict[value] = 0
tempDict[value] += 1
sortedDict = sorted(tempDict.items(),key=lambda x:x[1],reverse=True)
print(firstLineList)
print(sortedDict)
[1, 1, 1, 0, 0]
[(1, 3), (0, 2)]
yield函数
def foo():
print("starting...")
while True:
res = yield 4
print("res:",res)
g = foo()
print(next(g))
print("*"*20)
print(next(g))
print(next(g))
yield与斐波那契数列
def fib(n):
a, b = 0, 1
for _ in range(n):
a, b = b, a + b
yield a,b
def main():
for val in fib(20):
print(val)
if __name__ == '__main__':
main()
strip可以指定字符串
txt = ",,,,,rrttgg.....banana....rrr"
x = txt.strip(",.grta")
print(x)
Python-100-Days-master的更多相关文章
- https://github.com/python/cpython/blob/master/Doc/library/contextlib.rst 被同一个线程多次获取的同步基元组件
# -*- coding: utf-8 -*- import time from threading import Lock, RLock from datetime import datetime ...
- leetcode1028 从先序遍历还原二叉树 python 100%内存 一次遍历
1028. 从先序遍历还原二叉树 python 100%内存 一次遍历 题目 我们从二叉树的根节点 root 开始进行深度优先搜索. 在遍历中的每个节点处,我们输出 D 条短划线(其中 D 是 ...
- Python 100例(下)
如果你坚持到这了,哪就为自己鼓掌吧!坚持,你一定可以. 实例51: 题目:学习使用按位与&. #!/usr/bin/env python# --*--coding:utf-8 --*--'' ...
- Python 100例(上)
如果你已经把基础看完,可以尝试一下看看以下例子了,如果不会做也不要紧,你要尝试手动把所有的代码都敲一边.别嫌麻烦,因为都是从麻烦到简单的. 实例1: 题目:有1.2.3.4个数字,能组成多少个相互不同 ...
- Python 100例(001)
#!/usr/bin/env python # coding:utf-8 '''有四个数字:1.2.3.4,能组成多少个互不相同且无重复数字的三位数?各是多少?''' n = 1 num = [4, ...
- [Python] Python 100例
题目1:有四个数字:1.2.3.4,能组成多少个互不相同且无重复数字的三位数?各是多少? 程序分析:可填在百位.十位.个位的数字都是1.2.3.4.组成所有的排列后再去 掉不满足条件的排列. #程序源 ...
- 菜鸟 Python 100例
以下参考:菜鸟教程 python100例 == 推荐博客 有四个数字: 1.2.3.4,能组成多少个互不相同且无重复数字的三位数?各是多少? import itertools a = ('1','2' ...
- Python 100 Days
Day 1 python的缺点 执行效率稍低,因此计算密集型任务可以由C/C++编写. 在开发时可以选择的框架太多(如Web框架就有100多个),有选择的地方就有错误. python解释器 官方的Py ...
- Python 100个样例代码【爆肝整理 建议收藏】
本教程包括 62 个基础样例,12 个核心样例,26 个习惯用法.如果觉得还不错,欢迎转发.留言. 一. Python 基础 62 例 1 十转二 将十进制转换为二进制: >>> b ...
- Python Python Python 100个练手项目
1.淘宝模拟登录2.天猫商品数据爬虫3.爬取淘宝我已购买的宝贝数据4.每天不同时间段通过微信发消息提醒女友5.爬取5K分辨率超清唯美壁纸6.爬取豆瓣排行榜电影数据(含GUI界面版)7.多线程+代理池爬 ...
随机推荐
- 为什么需要域驱动设计DDD?
我们需要 DDD 的因素 – 微服务面试问题
- vue3在组件上使用v-model
v-model用于在元素上创建双向数据绑定,负责监听用户输入事件来更新数据. v-model应用于输入框 <input v-model="searchText" /> ...
- TCP 重传、滑动窗⼝、流量控制、拥塞控制
重传机制 TCP 会在以下两种情况发⽣超时重传: 数据包丢失 确认应答丢失 重传超时 重传超时是TCP协议保证数据可靠性的另一个重要机制,其原理是在发送某一个数据以后就开启一个计时器,在一定时间内如果 ...
- Markdown语法1
Markdown是一种轻量级标记语言. Markdown 编写的文档可以导出 HTML .Word.图像.PDF.Epub 等多种格式的文档. Markdown 编写的文档后缀为 .md, .mark ...
- 实现拖拽复制和可排序的react.js组件
在实现复制前,对之前的拖拽排序组件属性进行了修改. 摒弃了value中的content属性,拖拽组件暴露的render函数,利用这个属性进行组件内部子组件的渲染,这点主要是参考了蚂蚁金服的Ant de ...
- ES6-11学习笔记--Set
Set:一种新的数据结构 常用方法 遍历 应用场景 WeakSet 常用方法: // Set的成员值一定是唯一的不重复的 let s = new Set([1, 2, 3, 2]) // 添加数据 ...
- java中的访问控制有什么用?如何用法?请举例
9.访问控制 [新手可忽略不影响继续学习] 访问控制有什么用?在软件公司里是这么用的,我们想像一种场景,在你的类中,你编了三个私有方法,马克-to-win,别人当然都用不了,但在类外,你也是用不了的, ...
- Jquery中each的3种遍历方式
学习目标: 参考博文: https://blog.csdn.net/honey_th/article/details/7404273 一.Jquery中each的几种遍历方法 1. 选择器+遍历 &l ...
- 使用 NIO 搭建一个聊天室
使用 NIO 搭建一个聊天室 前面刚讲了使用 Socket 搭建了一个 Http Server,在最后我们使用了 NIO 对 Server 进行了优化,然后有小伙伴问到怎么使用 Socket 搭建聊天 ...
- [转]Fabric2.3中使用test-network搭建测试网络
这个测试网络一方面可以用来学习Fabric,另一方面也可以让一些更有经验的开发者来测试他们的智能合约和应用,但是不建议用于生产环境,在2.0版本后,这个测试网络也取代了原来的"first-n ...