跟着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的更多相关文章

  1. 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 ...

  2. leetcode1028 从先序遍历还原二叉树 python 100%内存 一次遍历

    1028. 从先序遍历还原二叉树 python 100%内存 一次遍历     题目 我们从二叉树的根节点 root 开始进行深度优先搜索. 在遍历中的每个节点处,我们输出 D 条短划线(其中 D 是 ...

  3. Python 100例(下)

    如果你坚持到这了,哪就为自己鼓掌吧!坚持,你一定可以. 实例51: 题目:学习使用按位与&. #!/usr/bin/env  python# --*--coding:utf-8 --*--'' ...

  4. Python 100例(上)

    如果你已经把基础看完,可以尝试一下看看以下例子了,如果不会做也不要紧,你要尝试手动把所有的代码都敲一边.别嫌麻烦,因为都是从麻烦到简单的. 实例1: 题目:有1.2.3.4个数字,能组成多少个相互不同 ...

  5. Python 100例(001)

    #!/usr/bin/env python # coding:utf-8 '''有四个数字:1.2.3.4,能组成多少个互不相同且无重复数字的三位数?各是多少?''' n = 1 num = [4, ...

  6. [Python] Python 100例

    题目1:有四个数字:1.2.3.4,能组成多少个互不相同且无重复数字的三位数?各是多少? 程序分析:可填在百位.十位.个位的数字都是1.2.3.4.组成所有的排列后再去 掉不满足条件的排列. #程序源 ...

  7. 菜鸟 Python 100例

    以下参考:菜鸟教程 python100例 == 推荐博客 有四个数字: 1.2.3.4,能组成多少个互不相同且无重复数字的三位数?各是多少? import itertools a = ('1','2' ...

  8. Python 100 Days

    Day 1 python的缺点 执行效率稍低,因此计算密集型任务可以由C/C++编写. 在开发时可以选择的框架太多(如Web框架就有100多个),有选择的地方就有错误. python解释器 官方的Py ...

  9. Python 100个样例代码【爆肝整理 建议收藏】

    本教程包括 62 个基础样例,12 个核心样例,26 个习惯用法.如果觉得还不错,欢迎转发.留言. 一. Python 基础 62 例 1 十转二 将十进制转换为二进制: >>> b ...

  10. Python Python Python 100个练手项目

    1.淘宝模拟登录2.天猫商品数据爬虫3.爬取淘宝我已购买的宝贝数据4.每天不同时间段通过微信发消息提醒女友5.爬取5K分辨率超清唯美壁纸6.爬取豆瓣排行榜电影数据(含GUI界面版)7.多线程+代理池爬 ...

随机推荐

  1. SVN报错之“Error: Please execute the 'Cleanup' command. ”

    问题 Error: Please execute the 'Cleanup' command. 需要清理下,注意SVN拉数据的时候别打开其中的问题 解决方案

  2. 隐藏IE10默认在input框输入内容后显示“X”按钮

    ::-ms-clear{display: none;} ::-ms-reveal{display: none;}

  3. Citus 分布式 PostgreSQL 集群 - SQL Reference(SQL支持和变通方案)

    由于 Citus 通过扩展 PostgreSQL 提供分布式功能,因此它与 PostgreSQL 结构兼容.这意味着用户可以使用丰富且可扩展的 PostgreSQL 生态系统附带的工具和功能来处理使用 ...

  4. jsp+servlet上传excel并将数据导入到数据库表的实现方法

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...

  5. tf.test.is_gpu_available() 返回结果为False解决办法

    安装完gpu版本的tensorflow,导入正常,但是tf.test.is_gpu_available()一直返回False,解决办法: 1.打开NVIDIA控制面板,查看CUDA的驱动版本,如果版本 ...

  6. IO流入门

    @ 目录 总结内容 1. IO流是什么 2. 字符流和字节流 3. File常用API(前面类型为返回类型) 4. 编码转换 5. IO流实现流程 6. 输入输出流简单实现 7. 输入输出流简单实现 ...

  7. 使用element UI el-upload组件实现视频文件上传及上传进度显示方法总结

    实现效果: 上传中: 上传完成: 代码: <el-form-item label="视频上传" prop="Video"> <!-- acti ...

  8. 用 rollup + gulp 造个轮子,别说还挺香

    前戏 我是16年入了前端的坑,17年知道了gulp和rollup这两个玩意儿.由于那时webpack势头很猛,便一直没有正眼瞧过它一眼. 直到20年进了一家小公司,做了很多类似的小项目,相同的代码拷来 ...

  9. 设计模式学习笔记(十六)迭代器模式及其在Java 容器中的应用

    迭代器(Iterator)模式,也叫做游标(Cursor)模式.我们知道,在Java 容器中,为了提高容器遍历的方便性,把遍历逻辑从不同类型的集合类中抽取出来,避免向外部暴露集合容器的内部结构. 一. ...

  10. Linux磁盘之inode

    什么是 inode ? 文件储存在硬盘上,硬盘的最小存储单位叫作"扇区"(Sector).每一个扇区储存512字节(至关于0.5KB).操作系统读取硬盘的时候,不会一个个扇区地读取 ...