python的内置函数

python的内置函数可以理解为python内部已经包装好的可以进行输入输出的模块,python中有60多个内置函数,这一章将主要介绍几个常见的内置函数。
内置函数range():用于生成一个整数序列,共有三种表达方式

  • range( stop)
  • range( start,stop)
  • range(start,stop,step)
    第一种表达式
i=range(4)   #创建一个[0,4),默认步长为1,注意左包右不包
print(type(i))   #类型为range ,而不是list
print(i)
print(list(i))  #list本身也是一个内置函数,理解为将type为range的i解析出来
<class 'range'>
range(0, 4)
[0, 1, 2, 3]

第二种表达式

i=range(1,12)  #创建一个[0,4),默认步长为1,左包右不包
print(type(i))
print(i)
print(list(i))  #所以range(0,4)与range(4)的意义是一致的
<class 'range'>
range(1, 12)
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]

第三种表达式

=range(1,12,2)  #设置步长为2
print(list(i))
print(10 in i)  #判断一个整数是否在i中
[1, 3, 5, 7, 9, 11]
False

特点:
range函数占用的内存空间始终是相同的,但会牺牲后续运算步骤

import sys
i=range(1,12,2)
i1=range(1,12,2)
j=[1, 3, 5, 7, 9, 11]
print(sys.getsizeof(i))    #查询对象占用内存
print(sys.getsizeof(i1))  
print(sys.getsizeof(j))   
48
48
152

输出都是[1,3,5,7,9,11],i与i1内存相同为48,j内存占用为152

range函数对象为整数,range(4.0)会报错
range函数的逻辑判断性,输出True或False
**while循环**
之所以叫while循环是因为其“循环”的特性,与if的判断特性不一致。

```python
a=1
sum=0
while a<10:   #判断a是否小于10,如果True,则执行内部连续相加语句
    sum=sum+a
    a+=1
    print(sum)
1
3
6
10
15
21
28
36
45

计算1到100内(含100)所有偶数的和

sum = 0    #计算1到100内(含100)所有偶数的和,注意print函数在三个位置的意义是不一样的
i = 1      
while i<=100:  
    if i%2 == 0:
        sum = sum + i
        #①print(sum)
    #②print(sum)
    i += 1
print(sum)

for in 循环
语法意义为在字符串或序列中遍历(依次取值)

for item in 'OK': #依次输出字符串的每一个
    print(item)
for item in range(4): #range内置函数在下一章
    print(item)
O
K
0
1
2
3

如果在循环体中不需要使用自定义变量,可将自定义变量写为“_”

for _ in range(3): #不适用变量用_,表现循环次数
    print('重复hello')
重复hello
重复hello
重复hello

计算1到100内(含100)所有偶数的和,用for in语句:

sum=0
for i in range(0,101,2): #使用i作为变量依次遍历0到101之间的数,步长为2
    sum+=i       #也可以去掉步长,再使用if语句判断奇偶
print(sum)

一个例子:输出所有三位数中的水仙花数

print('三位数的水仙花数有:')
for i in range(100,1000):
    if i==(i//100)**3 + ((i//10)%10)**3 + (i%10)**3:
        print(i)
    else:
        pass
三位数的水仙花数有:
153
370
371
407

流程控制语句break
用于结束循环,通常与分支结构if一起使用
一个例子:输入字符串型密码,做多输五次,输入正确就提示,5次都不对提示锁定

password = str(123456)
for i in range(0,5):		#也可以用while循环
    pass_word = str(input("请输入六位:"))
    if password==pass_word:
        print("密码正确")
        break
    else:
        print("密码不正确")
    if i==4:
        print("账户被锁定")
password = str(123456)
i=1
while i<=5:
    pass_word = str(input("请输入六位:"))
    if password==pass_word:
        print("密码正确")
        break
    else:
        print("密码不正确")
    if i==5:
        print("账户被锁定")
    i += 1

流程控制语句continue
用于结束当前循环,进入下一循环。一个例子:输出1到50中5的倍数,如果是10的倍数则跳过。

for i in range(1,51):   #输出5的倍数,如果是10的被倍数则跳过
    if i%5==0:
        if i%10==0:
            continue
        else:
            print(i)
i=0
while i <=50:   #输出5的倍数,如果是10的被倍数则跳过,用while语句
    i += 1
    if i%5==0:
        if i%10==0:
            continue
        else:
            print(i)
i=0
while i <=50:   #第三种表发的方式
    i += 1
    if i%5!=0:
        continue
    else:
        if i%10!=0:
            print(i)
        else:
            continue

else语句
else除了与if一起搭配使用外,还可以与while和for语句搭配使用
for …else语句:循环正常结束时执行
while…else语句:循环正常结束时执行(以上两种循环中有break时else内语句不执行)

password = str(123456)
for i in range(0,5):    #用else语句,当for语句循环完成后执行
    pass_word = str(input("请输入六位:"))
    if password==pass_word:
        print("密码正确")
        break
    else:
        print("密码不正确")
else:
    print('账户被锁定')

嵌套循环
嵌套循环意思就是在循环内执行循环
画一个i行j列的矩形:

i=int(input('输入行数:'))
j=int(input('输入列数:'))
for a in range(i):
    for b in range(j):
        print("#",end='\t')    #在某一行进行不换行输出
    print()             #换下一行
#	#	#	
#	#	#	
#	#	#	
#	#	#

打印九九乘法表

print('========for循环打印九九乘法表==========')
for i in range(1,10):
    for j in range(1,i+1):
        print(str(i)+'*'+str(j)+'='+str(i*j),end='\t')
    print()
print('=======while循环打印九九乘法表=======')
i=1           #使用while循环
while i<=9:
    j=1
    while j<=i:
        print(str(i)+'*'+str(j)+'='+str(i*j),end='\t')
        j+=1
    print()
    i+=1

二重循环中的break与continue用于控制本层循环,对外层循环没影响

print('=======不打印最外层=======')
for i in range(1, 10):
    for j in range(1, i + 1):
        if j==i:
            continue       #continue语句只控制本曾循环
        else:
            print(str(i) + '*' + str(j) + '=' + str(i * j), end='\t')
    print()

2*1=2	
3*1=3	3*2=6	
4*1=4	4*2=8	4*3=12	
5*1=5	5*2=10	5*3=15	5*4=20	
6*1=6	6*2=12	6*3=18	6*4=24	6*5=30	
7*1=7	7*2=14	7*3=21	7*4=28	7*5=35	7*6=42	
8*1=8	8*2=16	8*3=24	8*4=32	8*5=40	8*6=48	8*7=56	
9*1=9	9*2=18	9*3=27	9*4=36	9*5=45	9*6=54	9*7=63	9*8=72	
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值