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.多线程+代理池爬 ...
随机推荐
- SVN报错之“Error: Please execute the 'Cleanup' command. ”
问题 Error: Please execute the 'Cleanup' command. 需要清理下,注意SVN拉数据的时候别打开其中的问题 解决方案
- 隐藏IE10默认在input框输入内容后显示“X”按钮
::-ms-clear{display: none;} ::-ms-reveal{display: none;}
- Citus 分布式 PostgreSQL 集群 - SQL Reference(SQL支持和变通方案)
由于 Citus 通过扩展 PostgreSQL 提供分布式功能,因此它与 PostgreSQL 结构兼容.这意味着用户可以使用丰富且可扩展的 PostgreSQL 生态系统附带的工具和功能来处理使用 ...
- jsp+servlet上传excel并将数据导入到数据库表的实现方法
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...
- tf.test.is_gpu_available() 返回结果为False解决办法
安装完gpu版本的tensorflow,导入正常,但是tf.test.is_gpu_available()一直返回False,解决办法: 1.打开NVIDIA控制面板,查看CUDA的驱动版本,如果版本 ...
- IO流入门
@ 目录 总结内容 1. IO流是什么 2. 字符流和字节流 3. File常用API(前面类型为返回类型) 4. 编码转换 5. IO流实现流程 6. 输入输出流简单实现 7. 输入输出流简单实现 ...
- 使用element UI el-upload组件实现视频文件上传及上传进度显示方法总结
实现效果: 上传中: 上传完成: 代码: <el-form-item label="视频上传" prop="Video"> <!-- acti ...
- 用 rollup + gulp 造个轮子,别说还挺香
前戏 我是16年入了前端的坑,17年知道了gulp和rollup这两个玩意儿.由于那时webpack势头很猛,便一直没有正眼瞧过它一眼. 直到20年进了一家小公司,做了很多类似的小项目,相同的代码拷来 ...
- 设计模式学习笔记(十六)迭代器模式及其在Java 容器中的应用
迭代器(Iterator)模式,也叫做游标(Cursor)模式.我们知道,在Java 容器中,为了提高容器遍历的方便性,把遍历逻辑从不同类型的集合类中抽取出来,避免向外部暴露集合容器的内部结构. 一. ...
- Linux磁盘之inode
什么是 inode ? 文件储存在硬盘上,硬盘的最小存储单位叫作"扇区"(Sector).每一个扇区储存512字节(至关于0.5KB).操作系统读取硬盘的时候,不会一个个扇区地读取 ...