Python基础+爬虫

Python基础

python : 编程语言

编程语言: C C++ C# H5(html+css) JAVA (后台) VB php(建站) python (高级语言)
弱语言: js(JAVASCRIPT)

前端: 用户可见 (网页,app,小程序)
后台: 程序员可见 (为前台提供数据)

python: 蟒蛇 龟叔 1991 底层是C语言(指针)实现

Life is short you need python
人生苦短 我用python

格仔衫

使用场景: 无所不能 网页 后台 黑客 爬虫 大数据分析

前端

爬虫: 从网站里面提取数据

数据: 互联网上的信息

存数据: 表格 数据库 hadoop(存储海量数据)
1PB = 1024 1T = 1024 G M K

特点:
胶水语言: 用来连接软件组织的程序设计语言

简单易用 

开源: 免费  代码公开

可移植性强,跨平台 (mac,windows,linux)

解释性编程语言: 不需要编译,直接运行
编译性编程语言: 编译(将文件编译为二进制文件)-->运行

面向对象: 万物皆对象

丰富的库(模块) 

缺点:
运行速度比较慢 (爬虫)

缺少中文文档: 菜鸟教程

代码: 英文单词 二进制文件
123
23423
43543 (十进制 0-9)
二进制 (0-1)
八进制(0-7)

No1.

python运行环境: https://www.python.org/ (download,32,64)
环境测试:
windows+r --> cmd (回车) --> python

安装: 双击软件 --> 勾选add python3.6 to path (把python加入到环境变量里面) --> install now

再次测试

函数: 实现某种功能 单词()

exit(): 程序退出 (ctrl+z–>回车)

print(内容): 输出内容

bug

标点符号: 所有的标点符号都是英文 (ctrl+shift)

内容: 除了数字,其余的内容都要加上单引号或者双引号

python文件后缀: .py

写完文件,要ctrl+s(保存文件)

dos命令:

cd : 切换路径
	cd 文件路径
	cd 桌面
python py文件 : 运行python文件

中文乱码: 中文编码方式为 utf-8

IDE: 集成开发环境 帮助开发者快速生成代码,节约开发时间.

pycharm: http://www.jetbrains.com/

64bit,.py --> python3.6

设置: File --> settings–> Editor --> font

运行文件: 在文件里面右击–> run …

控制台: 显示程序运行结果

在python里面,代码后面不需要分号;一行里面只能写一行python代码

快捷键:
ctrl+c 复制
ctrl+x 剪切
ctrl+v 粘贴
ctrl+s 保存
ctrl+z 撤销
ctrl+y 删除当前行
ctrl+d 复制当前行粘贴到下一行

alt+tab 切换应用程序

windows+d 回到桌面

变量: 数据容器(存放数据) 变量名 = 值(数据) 全局修改

数据: 数字或者字符串

字符串: 用单引号或者双引号包裹起来的内容

a = 10
=: 赋值运算符 从右往左看 将10 赋值给 a变量
a = ‘hello world’

变量的声明: 写一个变量,不赋值 (python没有声明)

变量的定义: 写变量,并且给变量赋值

变量可以多次赋值

print(内容1,内容2,)

变量名的命名规范:
1.由字母数字下划线组成
2.不能是纯数字或者数字开头
3.不能是关键字(python里面已经使用过的单词,已经有特殊意义) if
4.驼峰标识: 从第二个单词开始,首字母大写 userNameOne

exit()
print()

python注释: 代码的解释说明 不会运行的

单行注释: # 注释内容 ctrl+/
多行注释: ‘’’ 注释内容 ‘’’ “”" 注释内容 “”"

原型输出: 使用多行注释

查看类型函数: type(变量名)

数据类型: 数字类型 字符串类型 布尔类型

数字类型: 整数(int) 浮点数(小数,float) 二进制,八进制,十六进制

二进制: 0b开头,后面接0101010
十六进制: 0x开头,后面接0-9 a-f

幂运算: 几次方
3210
0b1010

0 * 2 ^ 0 + 1 * 2 ^ 1 + 0 * 2 ^ 2 + 1 * 2 ^ 3 = 10

字符串: 单引号或者双引号包裹起来的内容 str

布尔: 表条件真假(条件是否成立) True False bool

占位符: %d %f %s 用来在字符串中表示变量的位置

%d: 整数
%f: 浮点数
%s: 字符串 (重点) 代表任意数据类型

print(‘a的值是%d,b的值是%d’%(a,b))

与用户进行交互

输入函数: input(提示文字)

只要写了函数,一定要等待用户输入,程序才会继续执行

a=input('请输入你的名字:')
b=input('请输入你的性别:')
c=input('请输入你的出生日期:')
d=input('请输入你的手机号码:')
print('''===========================
    姓名:%s
    性别:%s
    出生日期:%s
    手机号:%s
==========================='''%(a,b,c,d))


x='''===========================
    姓名:%s
    性别:%s
    出生日期:%s
    手机号:%s
==========================='''%(a,b,c,d)
print(x)

在这里插入图片描述

运算符:
赋值运算符: =

算术运算符: + - * / %(模运算,求余数) // (取整) ** (幂运算)
2 ** 3 : 2的3次方
x ** y : x的y次方

+: 数据类型必须相同
1.数学的加法
2.连接符 : 连接+左右两边的内容,在两边都是字符串的情况下
*:
1.数学的乘法
2.复制: 字符串 * 数字n,将字符串复制n次
数据类型的转换:
数字: int float

字符串: str

布尔: bool

强制转换:
%s: 内部实现了str(占位符代表的变量)
数字转为字符串: str(变量或者数字)

字符串转为数字: int(变量) float(变量) int还能取整 (//)

将其它类型转为布尔: bool(变量)

数字: 非0即真: 0是False,其余为True

字符串: 空字符串(‘’) 为False,其余为True

比较运算符: > < >= <= ==(等于) !=(不等于) 结合if使用

逻辑运算符: 或与非
或: or 只要一个成立,整体都成立

与: and 所有条件都成立,整体成立

非: not 取反 原来是True,变为False

字符串的比较: 从第一位开始比较,如果第一位就大了,就不需要比较

ASCII码值: a(97) A(65)

代码的流程控制: 代码以什么样的顺序执行
1.顺序结构: 从上往下执行
2.选择结构: 选择代码执行
3.循环结构: 重复执行某些代码

选择结构:
if语句 格式

if 条件:
条件成立的时候执行的代码

if…else(否则)语句 格式

if 条件:
条件成立的时候执行的代码
else:
条件不成立的时候执行的代码

if 嵌套:
一个if再嵌套另外一个if

第一天总结

总结:

函数:
exit(): 退出程序
print(内容): 输出内容
内容: 数字和变量不需要用单引号或者双引号,其他要
input(提示文字): 输入

type(变量): 查看变量类型

str(): 转化为字符串

int(): 转化为整数

float(): 转化为浮点数

bool(): 转化为bool 0,空字符串,NULL是False,其余也为True

运算符: + - * / **(幂运算) //(取整) % (求余数,模运算)

比较运算符: > < >= <= == !=

逻辑运算符: or and not

多个if
if…else

shift+tab: 代码整体左移动
tab: 整体右移

第一天作业

# 1.让用户输入两个任意的整数, 比较两个数的大小, 输出最大的数
a=input("请输入第一个整数:")
b=input("请输入第二个整数:")
if  a>b:
    print('最大的数是%s'%(a))
else:
    print('最大的数是%s'%(b))

# 2.用户输入一个数,打印出奇数还是偶数
a=input('请输入一个数:')
if  int(a)%2 == 1:
    print('奇数')
else:
    print('偶数')

在这里插入图片描述

# 3.用户输入帐号密码, 帐号为admin, 密码为8888显示登录成功, 其余的显示登录失败
a=input('请输入账号:')
b=input('请输入密码:')
if  a=='admin'and b=='8888':
    print('登陆成功')
else:
    print('登录失败')

在这里插入图片描述

# 4.用户输入一个三位数, 输出结果是否为水仙花数
# (水仙花数: 水仙花数是指一个3位数,它的每个位上的数字的3次幂之和等于它本身
# (例如:1 ^ 3 + 5 ^ 3 + 3 ^ 3 = 153)。)
a=int(input('请输入三位数:'))
b=a%10 #个位数
c=a%100//10#十位数
d=a//100#百位数
e=b**3+c**3+d**3
print(e)
if  a==e:
    print('您输入的%s为水仙花数'%(a))
else:
    print('您输入的%s不是水仙花数'%(a))

在这里插入图片描述

# 5.
# 用户输入年份, 输出结果是闰年还是平年(闰年: 1.能整除4且不能整除100 2.能整除400)
a=int(input('请输入年份:'))
if  (a%4==0 and a%100>0) or a%400==0:
    print('您输入的%s是闰年'%(a))
else:
    print('您输入的%s是平年'%(a))

在这里插入图片描述

# 6.输入公交卡当前的余额, 空座位数,只要超过2元,就可以上公交车;
# 没钱, 撵走;如果空座位的数量大于0,就可以坐下;
a=int(input('请输入公交卡余额:'))
if  a>=2:
    b = int(input('请输入公交空座位数:'))
    if b>0:
        print('坐下')
    else:
        print('上车')
else:
    print('撵走')

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

# 7.成绩等级:
#90分以上: 等级为A
# 80 - 90: 等级为B
# 60 - 80: 等级C
# 0 - 60: 等级为D
a=int(input('请输入你的成绩:'))
if  a>=60:
    if a>=80:
        if a>=90:
            print('A')
        else:
            print('B')
    else:
        print("C")
else:
    print('D')

在这里插入图片描述

# 8.场景应用: 上火车(用变量表示是否有票, 是否有刀具)
# 是否有票, 有票打印可以进站;
# 进站查看是否带有刀具, 有刀具, 没收上车, 没有刀具, 直接上车
# 没票打印不可以进站
a=input('有没有票:')
if  a=='有':
    b = input('是否带刀:')
    if b=='是':
        print('没收上车')
    else:
        print('直接上车')
else:
    print('没票不可以进站')

在这里插入图片描述

# 9.女友的节日:
# 	定义holiday_name字符串变量记录节日名称
# 	如果是 情人节 应该 买玫瑰/看电影
# 	如果是 平安夜 应该 买苹果/吃大餐
# 	如果是 生日 应该 买蛋糕
# 	其他的时候,每天都是节日
holiday_name=input('今天是什么日子:')
need='每天都是节日'
if  holiday_name=='情人节':
    need='买玫瑰/看电影'
if  holiday_name=='平安夜':
    need='买苹果/吃大餐'
if  holiday_name=='生日':
    need='买蛋糕'
print(need)

在这里插入图片描述
在这里插入图片描述

# 10.
# 英雄联盟(LOL)
# 李青技能:
# q, Q: 天音波
# w, W: 金钟罩 / 铁布衫
# e, E: 天雷破 / 摧筋断骨
# r, R: 猛龙摆尾
LiQing=input('请输入李青技能按键:')
x='请正确输入技能按键'
if LiQing=='q' or LiQing=='Q':
    x='天音波'
if LiQing=='w' or LiQing=='W':
    x='金钟罩/铁布衫'
if LiQing=='e' or LiQing=='E':
    x='天雷破/摧筋断骨'
if LiQing=='r' or LiQing=='R':
    x='神龙摆尾'
print(x)

在这里插入图片描述
在这里插入图片描述

# 11.
# 让用户输入三个任意的整数, 比较三个数的大小, 输出最大的数
a=int(input('请输入第一个数'))
b=int(input('请输入第二个数'))
c=int(input('请输入第三个数'))
if  a>b :
    if  a>c:
        print(a)
    else:
        print(c)
else:
    if b>c:
        print(b)
    else:
        print(c)

在这里插入图片描述
在这里插入图片描述

# 12.
# 用户决定是否发工资, 工资数是多少, 信用卡欠款;
# 有剩余的时候, 显示剩余金额(图1)
a=input('今天发不发工资:')
if  a=='发':
    b=input('换完信用卡还有剩余吗:')
    if b=='有':
        print('今晚Happy')
    else:
        print('噢,no')
else:
    print('盼工资')

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

No2.

pass: 空语句 先占位置

多个if

if…else

if 条件:
条件成立执行的代码
elif 条件:
条件成立执行的代码
elif 条件:
条件成立执行的代码
elif 条件:
条件成立执行的代码
else:
以上条件都不满足

结合if使用

模块: 随机数 (random)

导入: import 模块名 (统一写到py文件的开头)

模块名.函数名()
. : 的
import random
生成随机数: random.randint(start,stop)
start: 开始值
stop: 结束

应用: 石头剪刀布
1.用户输入石头(0) 剪刀(1) 布(2)
2.电脑随机出石头(0)剪刀(1)布(2)
3.得知游戏胜负: 平局 用户胜 用户输

产生结果的时候,输出用户出的和电脑随机产生的数值

用户胜,用户出的为石头(0),电脑出的为剪刀(1)

平局: 用户输入 = 电脑随机产生

胜: 用户:0 电脑: 1; 用户: 1 电脑: 2; 用户: 2,电脑: 0

输: 不是平不是胜

import random

# a=random.randint(5,96)
#
# print(a)

a = random.randint(0, 2)  # 电脑出的
b = int(input('请输入你要出的(石头0 剪刀1 布2):'))
if a == 0:
    c = '石头'
elif a == 1:
    c = '剪刀'
elif a == 2:
    c = '布'

if b == 0:
    d = '石头'
elif b == 1:
    d = '剪刀'
elif b == 2:
    d = '布'
else:
    d = '错'

if a == b:
    print('平局,电脑出的%s,用户出的%s' % (c, d))
elif (a == 0 and b == 2) or (a == 1 and b == 0) or (a == 2 and b == 1):
    print('用户胜,用户出的%s,电脑出的%s' % (d, c))
else:
    print('电脑胜,电脑出的%s,用户出%s' % (c, d))

在这里插入图片描述
bug: 程序崩溃

捕获异常

try:
可能出现问题的代码
except:
出现问题以后执行的代码

try:
可能出现问题的代码
except Exception as e:
出现问题以后执行的代码

e: 表示错误原因

数据库的使用
try:
可能出现问题的代码
except:
出现问题以后执行的代码
finally:
无论程序是否崩溃,都会执行该代码(关闭数据库)

try:#可能出现问题的代码
    a = 9 / 0
    print(a)
except:#出现问题以后执行的代码
    print("0不能作为除数")
finally:#无论程序是否崩溃,都会执行该代码
    print('00不能作为除数')

在这里插入图片描述

复合运算符: += -= *= /= %=
a += 10 a = a + 10
a -= 10 a = a - 10
a *= 10 a = a * 10
a /= 10 a = a / 10

# 用户8块钱买了一只鸡,9块钱卖出去了,然后觉得亏了,
# 又花了10块钱买了回了,然后11块钱卖出去了,问最后用户赚了还是亏了?赚多少,亏多少?
a = 0
a -= 8
a += 9
a -= 10
a += 11
if a > 0:
    print('赚了%s元' % (a))
elif a == 0:
    print('不挣不赔')
else:
    print('赔了%s元' % (a * -1))
print(a)

在这里插入图片描述
循环结构: 重复执行某些代码 while循环 for循环

while循环:

while 条件:
需要重复执行的代码

条件: 控制循环的次数

循环步骤:
1.初始化循环变量
2.判断循环条件
3.执行循环代码
4.更新循环变量值

初始化: 变量的第一次赋值

死循环: 代码一直在执行 (做游戏,爬虫)

存储:
磁盘: 文件

内存: 存储软件运行时产生的数据

循环步骤:
1.初始化循环变量
2.判断循环条件
3.执行循环代码
4.更新循环变量值

# 1.初始化循环变量
i = 1
# 2.判断循环条件
while i < 5:
    # 3.执行循环代码
    print('hello world',i)
    # 4.更新循环变量的值
    i = i + 1 # i = 1 i = 2 i = 3 i = 4 i = 5
print('循环结束',i)

在这里插入图片描述

1 --> 2,3,4 --> 2,3,4 --> 2,3,4 --> 2,3,4 --> 2的条件不满足的时候,循环结束

用户胜,结束,其他情况,继续玩

import random

i = True
while i:
    a = random.randint(0, 2)  # 电脑出的
    b = int(input('请输入你要出的(石头0 剪刀1 布2):'))
    if a == 0:
        c = '石头'
    elif a == 1:
        c = '剪刀'
    elif a == 2:
        c = '布'

    if b == 0:
        d = '石头'
    elif b == 1:
        d = '剪刀'
    elif b == 2:
        d = '布'
    else:
        d = '错'

    if a == b:
        print('平局,电脑出的%s,用户出的%s' % (c, d))
    elif (a == 0 and b == 2) or (a == 1 and b == 0) or (a == 2 and b == 1):
        print('用户胜,用户出的%s,电脑出的%s' % (d, c))
        i = False
    else:
        print('电脑胜,电脑出的%s,用户出%s' % (c, d))

在这里插入图片描述
循环能开始,条件成立;循环结束,条件不成立的时候

break语句: 强制退出循环

i = 0

while i < 6:
    print('hello world',i)
    # i = i + 1
    i += 1
    if i == 4:
        # 强制退出循环
        break
    print('你好,世界')

print('循环结束')

在这里插入图片描述

continue语句: 退出某次循环,但是循环继续执行

i = 0
while i < 6:

    print('hello world', i)
    i += 1
    if i == 4:
        continue
    print('hello python')
print('循环结束')

在这里插入图片描述

# 1.输出1-100的数
i = 1
while i < 101:
    print(i)
    i += 1
# 2.求1-100的和
i = 1
b = 0
while i < 101:
    b = b + i
    print(i, b)
    i += 1

在这里插入图片描述

# 3.求1-100的偶数和
i = 0
b = 0
while i < 101:
    i += 1
    if i % 2 > 0:
        continue
    b = b + i

    print(i, b)

在这里插入图片描述

# 练习1:
# **********
# **********
# **********
# **********
# **********
i = 0
while i < 5:
    print('*' * 10)
    i += 1

在这里插入图片描述

# 练习2:
# *
# **
# ***
# ****
# *****
# ******
# *****  5
# ****   4
# ***    3
# **     2
# *      1
i = 1
b = True
while b:
    print('*' * i)
    if i == 6:
        break
    i += 1
while b:
    i -= 1
    print('*' * i, i)
    if i == 1:
        break
print(i, b)

在这里插入图片描述

# 1
# 12
# 123
# 1234
# 12345
# 123456
# 1234567
# 12345678
# 123456789
i = 2
b = '1'
while i < 11:
    print(b)
    b = b + str(i)
    i += 1

在这里插入图片描述
\n: 换行

\t: 制表符 (tab)

print(内容,end=“该print以…结尾”)

print(0)
print(1, end='')
print(2, end='\n')
print(3, end='\n\n')
print(4,end='\n\n\n')
print(5,end='我是你爹爹')
print(6,end='\t')
print(7)

在这里插入图片描述
嵌套循环: 循环里面套循环
外面的循环每执行一次,里面的循环全部执行一遍

# 1
# 12
# 123
# 1234
# 12345
# 123456
# 1234567
# 12345678
# 123456789
i = 1
while i <= 9:
    j = 1
    while j <= i:
        if j < i:
            print(j, end="")
        else:
            print(j, end="\n")
        j += 1
    i += 1

# 1
# 12
# 123
# 1234
# 12345
# 123456
# 1234567
# 12345678
# 123456789
i = 1
while i <= 9:
    j = 1
    while j <= i:
        print(j, end="")
        j += 1
    print()
    i += 1

在这里插入图片描述

第二天作业

# 1. 计算从1到1000以内所有能被3或者17整除的数的和并输出
i = 1
j = 0
while i < 1001:
    if i % 3 == 0 or i % 7 == 0:
        j = j + i
        print(i, j)
    i += 1

在这里插入图片描述

# 2. 求1到10的阶乘 (格式为 5的阶乘为: 120 )
# 	5: 5 * 4 * 3 * 2 * 1
# 	4: 4 * 3 * 2 * 1
# 	3: 3 * 2 * 1
# 	2: 2 * 1
# 	1: 1
# 	结果:
# 	5的阶乘为: 120

i = 10
while i > 0:
    j = i
    while j > 0:
        if j == 1:
            print(j)
        else:
            print(j, end="*")
        j -= 1
    i -= 1

在这里插入图片描述

i = 10
while i > 0:
    j = i
    b = 1
    while j > 0:
        b = b * j
        if j == 1:
            print('%s的阶乘结果为%s'%(i,b))
        j -= 1
    i -= 1

在这里插入图片描述

# 3. 求一到十阶乘之和。(1: 1 2: 2  3: 6  4: 24 5: 120)
i = 10
e = 0
while i > 0:
    j = i
    b = 1
    while j > 0:
        b = b * j
        if j == 1:
            print('%s的阶乘结果为%s' % (i, b))
        j -= 1
    e = e + b
    print(e)
    i -= 1

在这里插入图片描述

# 4. 功能:用户登录(三次机会尝试)
# 用户名密码:
# name = "aaa"
# password = "123"
# 让用户输入,如果输入正确,显示登录成功, 失败,显示还有几次机会, 超过三次失败,显示失去登录机会,明天再来。退出程序。
name = "aaa"
password = "123"

i = 0
while i < 3:
    a = input('输入用户名:')
    b = input('输入密码:')
    if a == name and b == password:
        print('登陆成功')
        break
    else:
        print('登录失败')
    i += 1
    if i == 3:
        print('超过三次输入错入,失去登录机会')

在这里插入图片描述

# 5. 打印出所有的“水仙花数”。
# 所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。
# 例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。
i = 100
while i < 1000:
    a = i // 100  # 百位数
    b = i // 10 % 10  # 十位数
    c = i % 10  # 个位数
    if a ** 3 + b ** 3 + c ** 3 == i:
        print(i, a, b, c)
    i += 1

在这里插入图片描述

# 6.五位数中,对称的数称为回文数,打印所有的回文数并计算个数。如:12321
i = 10000
j = 0
while i < 100000:
    a = i // 10000  # 万位数
    b = i // 1000 % 10  # 千位数
    d = i % 100 // 10  # 十位数
    e = i % 10  # 个位数
    if a == e and b == d:
        j += 1
        print(i, j)
    i += 1

在这里插入图片描述

# 7.输出9行内容,第1行输出1,第2行输出12,第3行输出123,以此类推,第9行输出123456789。(两种方式)
# 1
# 12
# 123
# 1234
# 12345
# 123456
# 1234567
# 12345678
# 123456789
i = 1
while i < 10:
    j = 1
    while j <= i:
        print(j, end='')
        j += 1
    print()
    i += 1

在这里插入图片描述

# 8.打印等腰三角形
# *
# ***
# *****
# *******
# *****
# ***
# *

i = 1
while i <= 7:
    print('*' * i)
    if i == 7:
        break
    i += 2
while i > 0:
    i -= 2
    print('*' * i)

在这里插入图片描述

# 9.打印菱形  print(' ' * 3,end='')
# 			print('*')
#    *
#   ***
#  *****
# *******
#  *****
#   ***
#    *
i = 4
j = 1
h = 1
while i < 8:
    print(' ' * (i - j), end='')
    print('*' * j)
    i += 1
    j += 2

while i > 5:
    i -= 1
    print(' ' * h, end='')
    h += 1
    print('*' * (i - h))

在这里插入图片描述

# 10.打印九九乘法表
# 1 * 1 = 1
# 1 * 2 = 2	2 * 2 = 4
# 1 * 3 = 3	2 * 3 = 6	3 * 3 = 9
# 1 * 4 = 4	2 * 4 = 8	3 * 4 = 12	4 * 4 = 16
# 1 * 5 = 5	2 * 5 = 10	3 * 5 = 15	4 * 5 = 20	5 * 5 = 25
# 1 * 6 = 6	2 * 6 = 12	3 * 6 = 18	4 * 6 = 24	5 * 6 = 30	6 * 6 = 36
# 1 * 7 = 7	2 * 7 = 14	3 * 7 = 21	4 * 7 = 28	5 * 7 = 35	6 * 7 = 42	7 * 7 = 49
# 1 * 8 = 8	2 * 8 = 16	3 * 8 = 24	4 * 8 = 32	5 * 8 = 40	6 * 8 = 48	7 * 8 = 56	8 * 8 = 64
# 1 * 9 = 9	2 * 9 = 18	3 * 9 = 27	4 * 9 = 36	5 * 9 = 45	6 * 9 = 54	7 * 9 = 63	8 * 9 = 72	9 * 9 = 81

i = 1
while i < 10:
    j = 1
    while j <= i:
        print('%s*%s=%s' % (j, i, j * i), end='\t')
        j += 1
    print()
    i += 1

在这里插入图片描述

# 11.公园里有一只猴子和一堆桃子,猴子每天吃掉桃子总数的一半,把剩下一半中扔掉一个坏的。
# 到第七天的时候,猴子睁开眼发现只剩下一个桃子。问公园里刚开始有多少个桃子?
i = 7
j = 1
while i > 0:
    print('桃子数%s,第%s天' % (j, i))
    j = (j + 1) * 2
    i -= 1

在这里插入图片描述

# 12.求出1-100所有的质数(质数: 只能被1和它本身整除的数)
# 	9: 2,3,4,5,6,7,8
#
# 	6: 2,3,4,5

i = 1
while i < 101:
    j = 2
    b = 0
    while j <= i:
        if i % j == 0:
            b += 1
        j += 1
    if b < 3:
        print(i, end=',')
    i += 1

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值