python学习基础知识1

7月27号小结

目录

查看数据类型
简单数据类型转换
循环

查看数据类型

type函数:

查看python中各种数据类型

print(type(1234))
print(type(123.56))
常见的数据类型的英文表示符号
  • 整型(int)、浮点型(float)、字符串(str)、列表(list)
  • 元组(tuple)、集合(set)、字典(dict)、布尔(bool)、None(None type)
print(type(None))
input:

input():传入的数据,输出时一定是字符串类型

num = input('请输入:')
print(num, type(num))

简单数据类型转换

数字、布尔值的转换

构造器语法:常见的数据类型后方添加小括号()
int()、float()、bool()、str()

1.什么样的数据能够转成整型?

1234 (int)
a.浮点型数据可以转整型,将小数点直接去掉即为整型。
b.布尔(True、False)可以转整型。
c.去掉引号是一个整型的字符串可以转整型。

print(int(12.5))
print(int(True), int(False))
print(int('123'))
# print(int('12.3'))  不能打印,会报错(不满足int的条件)
2.什么样的数据可以转成浮点型?

a.整型转浮点型,在整数后添加.0
b.布尔(True、False)可以转浮点型。True == 1.0,False == 0.0
c.去掉引号是一个数字的字符串可以转浮点型。

print(float(1))
print(float(True))
print(float('1.1'), float('1.'), float('1'), float('.1'))
3.什么样的数据可以转成布尔?

a.所有数据都可以转布尔。
0,None, ‘’, [], (), set(), {}, 都可以转False
除此之外,都为True

print(bool(0), bool(None), bool(''), bool([]), bool({}), bool(set()))
print(bool(100), bool(['']))

循环

解决重复执行某一类工作的语法。

可以借助程序来解决某一类重复、繁琐的事情。

循环涉及的关键词:for、in、while、break、continue、else

1.for - in循环

for循环是根据容器中元素个数来确定循环次数。

"""
语法:
for 变量 in 容器:
    代码块
"""

容器:range、字符串、列表、集合、元组、字典等。
案例:计算1-100的和
range(1,100)生成[1,100]的所有整数

sum = 0
for i in range(1, 101):
    # print(i)
    sum += i
print(sum)
容器:range

range(M,N,step)
M:数字范围的起点,闭区间;N:表示数字范围的终点,开区间;step:步长,决定range生成元素的方式,当前元素 + step = 下个元素,默认等于1,可以不写。

range(3, 8) —> 从[3.8)范围生成3,4,5,6,7五个元素。
range(3,8,2) —> 从[3,8)范围生成3,5,7三个元素。
range(5) —> 表示从[0,5)范围生成0,1,2,3,4五个元素。
range(0,5,2) --> 从[0,5)范围生成0,2,4三个元素。

range(12, 4):获取不到元素。

range(0, 10, -1):获取不到元素。

range(11, 1, -1):从11到2,一共10个元素。

a.当step>0时,M必须小于N,如果step不写。

从M开始取数据,并且M为0时,M可以不写,默认为0。当step出现时,M,N,step三个参数必须出现

b.当step<0时,M必须大于N;当step出现时,M,N,step三个参数必须同时出现。

c.如果range中只有一个数字x,并且x大于0的,代表从0获取到x-1,此时x等于结束范围N,0等于开始范围M。

for i in range(3, 8):
    print(i)
for i in range(3, 8, 3):
    print(i)
for i in range(5):
    print(i)
for i in range(0, 5, 2):
    print(i)
print('---------------------------')   
for i in range(1, 6):
    print(i)
print('---------------------------')
for i in range(1, 6, 5):
    print(i)
print('---------------------------')
for i in range(1, 6, -1):
    print(i)
print('---------------------------')
for i in range(0, -10, -3):
    print(i)
print('---------------------------')

range练习:

  1. 生成1-100之间所有的奇数。
  2. 计算1-100之间所有5的倍数的数字和
for i in range(1, 101, 2):
    print(i)

print('--------------')

num = 0
for i in range(5, 101, 5):
    # print(i)
    num += i
print(num)
# range(100, 90, -1) ---> 从[100,90)区间从大到小依次获取元素。
# range(-10,-20,-1) ---> 从[-10,-20)区间从大到小依次获取元素
for i in range(100, 90, -1):
    print(i)
for i in range(-10, -20, -2):
    print(i)

练习

# 通过修改步长,计算100以内2的倍数的和
x = 0
for i in range(2, 101, 2):
    x += i
print(x)

# 计算100的阶乘
y = 1
for i in range(2, 101):
    y *= i
print(y)
while循环

while既可以有限次的循环,也可以无限次的循环。

一般来说优先使用for循环。

while循环语法:

"""
语法:
while 条件:
    代码块
"""
  1. while循环次数确定的例子
  • 计算1-100的和

    sum = 0
    i = 1
    while i <= 100:
        sum += i
        i += 1
    print(sum)
    
  1. while循环次数不确定的例子
  • 案例:猜数字游戏,从1-100范围内随机指定一个数字,找玩家猜数字,如果猜对了,游戏结束;如果猜大了,提示再小一点;如果猜小了,提示再大一点。
from random import randint
# randint()能够在指定范围内随机产生一个整数
num = randint(1, 100)
flag = True
while flag:
# pass作用:保持结构完整性,不参与程序执行。
# pass
    result = int(input('请输入你猜的数字:'))
    if result > num:
        print('再小一点')
    elif result < num:
        print('再大一点')
    elif result == num:
        print('猜对了')
        flag = False   #与前面flag = True 不一样,使while循环停止,
    else:
        print('输入错误,请重新输入')

练习:使用while循环计算1-100的和。

i = 1
sum = 0
while i < 101:
    sum += i
    i += 1
print(sum)
跳出循环的关键字

break:被触发时,直接结束当前循环。
continue:被触发时,直接跳出当前所在循环的单次循环,进入下一次循环。

for i in range(1, 10):
    if i == 5:
        break
        # continue
        print('abc')
    print(i)

for i in range(1, 101):
    if i % 5 == 0:
        print('****')
        # break
        continue
        print('====')
    else:
        print(i)

# -------------------
i = 1
while True:
    i += 1
    if i == 50:
        break
    print(i)
嵌套循环

for和while循环之间可以互相嵌套。
for循环后边的变量没有被使用时,可以使用_下划线代替。

for _ in range(1, 4):
    for i in range(1, 6):
        print(i)
for - else 循环
"""
for- else循环语法:
for 变量 in 容器:
    代码块
else:
    代码块
"""

案例:找出100以内所有的素数。

素数(质数):一个数字,只有1和本身两个因子。2是最小素数。

for i in range(2, 101):
    if i == 2:
        print('2是素数')
    else:
        for j in range(2, i):
            if i % j == 0:
                print('%d不是素数' % i)
                break
        else:
            print('%d是素数' % i)
for - else 语句

当for循环非正常结束时,else语句不执行;
当for循环正常结束时,else语句被触发。

应用场景:某一结论在所有情况判断完成以后才确定,可以使用for-else循环(或者适用于所有可能考虑完才能得到某一结论的场景)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值