ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

整型相关方法、浮点型相关方法、字符串的内置方法、列表的内置方法、练习

2022-06-24 23:35:33  阅读:135  来源: 互联网

标签:内置 name res eg 浮点 str type print 方法


作业讲解

1.编写代码打印出下列图形(ps:for循环嵌套)
    """
    *****
    *****
    *****
    *****
    """
解题思路:
    1.想办法打印出第一排的*号(*****)
    2.再想办法打印四排的(*****)
    for i in range(4):
        for i in range(5):
            print("*", end="")  # end的作用就是将print自带的换行符用end指定的str代替
        print("") 

数据类型的内置方法简介

1.内置方法:每个数据类型自带的功能
2.数据类型:整型、浮点型、布尔值、字符串、列表、元组、字典、集合
3.使用数据类型的内置方法统一采用句点符(.) 格式:数据类型.方法名()
	eg:str.字符串具备的方法()
        s1 = 'nihao'
        s1.字符串具备的方法()
     ps:可借用编辑器自动提示数据类型的内置方法 eg:输入"list."即可查看list有哪些内置方法
        
        

整型(int)相关方法

1.关键字:int()
2.整型没有内置方法 主要用于计算
3.类型转换:int(待转换的数据) 其中带转换的数据(字符串)必须是纯数字,即使有小数点也不行
	eg:
	print(type(int(('123'))))  # <class 'int'>
	print(type(int('123aaa')))  # 报错
	print(type(int("12.1")))  # 报错
4.进制转换:二进制、八进制、十进制、十六进制的相互转换
	(1).十进制转其他进制:bin()将十进制转二进制、oct()将十进制转八进制、hex()将十进制转十六进制
    eg:
    print(bin(100))  # 0b1100100  0b是二进制的标识
    print(oct(100))  # 0o144  0o是八进制的标识
    print(hex(100))  # 0x64  0x是十六进制的标识
    ps:如果数字前面没有任何标识 默认就是十进制
    
    (2).其他进制转十进制:包括自动识别进制数、人为识别进制数
    自动识别进制数:print(int(0b1100100))  # 100
		print(int(0o144))  # 100
		 print(int(0x64))  # 100
    人为识别进制数:print(int('0b1100100', 2))  # 100
		print(int('0o144', 8))  # 100
		 print(int('0x64', 16))  # 100
    
    
    
   

浮点型(float)相关方法

1.关键字:float
2.类型转换:float(待转换数字)
	eg:
    print(float('123'))  # 123.0
    print(type(float('123')))  # <class 'float'>
    print(float(123))  # 123.0
    print(type(float(123)))  # <class 'float'>
    print(float('123a123'))  # 只能纯数字
    print(float(123.233))  # 只能识别一个小数点
	print(float('12.2'))  # 12.2

补充说明

python对数字不敏感 很容易出错
但是在人工智能、数据分析、金融量化等领域有着非常重要的角色,其原因是基于python开发的模块是非常好的,例如numpy、pandas、matplotlib

字符串相关方法

1.关键字:str
2.类型转换:兼容所有数据值(整型、浮点型、布尔值、列表、元组、集合、字典)
	eg:
    print(type(str(11)))
    print(type(str(11.1)))
    print(type(str(True)))
    print(type(str([11, 22, 33])))
    print(type(str({'name': 'nana'})))
    print(type(str((1,2,3))))
    print(type(str({1,2,3,4})))
3.需要掌握的内置方法(字符串调用内置方法 不是改变原数据 而是产生了新数据)
	s1 = 'hello world'
    1.索引取值:单个字符,支持负数
    	eg:
    	print(s1[6])  # w
		print(s1[-2])  # l
    2.切片取值:多个字符,支持负数,切片的顺序默认从左往右
    	eg:
         print(s1[0:3])  # hel 前闭后开
         print(s1[-1:-4])  # 切片的顺序默认从左往右
         print(s1[-1:-4:-1])  # dlr 可以通过第三个参数的正负一 控制方向
         print(s1[-4:-1])  # orl
    3.间隔/方向
    	eg:
         print(s1[:])  # hello world
		print(s1[:4])  # hell
		print(s1[3:])  # lo world
         print(s1[::2])  # hlowrd 间隔2两字符(隔一个取一个)
         print(s1[0:5:2])  #hlo

    4.统计字符串中字符的个数(空格也算字符) len()
    	eg:
		print(len(s1))  # 11
         print(len("hello world"))  # 11
    	
    5.移除字符串首尾指导的字符  str.strip() str.lstrip() str.rstrip()
      应用:在用户输入密码、用户名等功能时,常常需要用到.strip()
    	eg:
         name = '  nana  '
         print(len(name))  # 8
         print(len(name.strip()))  # 4
        
         s2 = '$$nana$$'
		print(s2.strip('$'))  # nana
		print(s2.lstrip("$"))  # nana$$
		print(s2.rstrip("$"))  # $$nana
           
    6.按照指定的字符切割字符串 str.split() str.rsplit() str.split("",maxsplit=n)
      当字符串中出现了连续的的特征符号,应该考虑使用切割操作 str.split()
        eg:
        info = 'jason|123|read'
	    res = info.split('|')  # 切割字符串之后结果是一个列表
		print(res,type(res))  # ['jason', '123', 'read'] <class 'list'>
		name,pwd,hobby = info.split('|')  # 解压赋值 需要保证左边的名字和右边的数据值,个数一致
		print(name,pwd,hobby)
		print(info.split('|',maxsplit=1))  # ['jason', '123|read'] 从左往右 只切一次
		print(info.rsplit("|",maxsplit=1))  # ['jason|123', 'read'] 从右往左 只切一次
    
    7.字符串大小写相关 str.lower()  str.upper()  str.isupper() str.islower()
      在生活中填写验证码最常见,输入验证时不需要在意是否是大小写,因为后面会统一转换成大写或小写
    	eg:
        s3 = 'Hello Jessica,最近咋样 555'
	    print(s3.lower())  # hello jessica,最近咋样 555
	    print(s3.upper())  # HELLO JESSICA,最近咋样 555
        print(s3.islower())  # False
        print(s3.isupper())  # False
        print("AA".isupper())  # True 
        print("aa".islower())  # True
   		
        code = 'ASdf12'
	    print(('这是随机验证码:%s' % code))
		my_code = input('请输入验证码:>>>').strip()
		if code.isupper() ==my_code.isupper():
   			print("欢迎光临")
		else:
    		print("验证码错误")
    8.字符串的格式化输出(4种方式) str.formate()
      方式1:等价于%s占位 没有什么优势
           res1 = 'my name is {} my age is {}'
		  print(res1.format('nana',18))
      方式2:支持索引取值 并且支持重复使用
    	   res2 = 'my name is {0} my age is {1}{0}{0}{1}{1}'
		   print(res2.format('nana','18'))
	  方式3;支持关键字取值(按k取值)并且支持重复使用
    	   res3 = 'my name is {name} ,my age is {age}'
		   print(res3.format(name='nana',age =18))
      方式4:推荐使用
           name = 'nana'
           age = 18
           print(f'my name is {name} ,my age is {age}')
           
    9.统计字符串中指定字符出现的次数  str.count()
    	eg:
        res = 'asddfffffffffdfdfdff'
        print(res.count('f'))  # 13
        print(res.count('df'))  #4
    
    10.判断字符串的开头或结尾 str.endswith() str.startwith()
    	eg:
        res = "ojbk haha name age"
        print(res.startswith('o'))
        print(res.endswith('e'))
        print(res.startswith('oj'))
        print(res.endswith('ge'))
    11.字符串的替换 str.replace() 从左往右替换
    	eg:
        res = "nana gets 100$ 100$ 100$"
	    print(res.replace('nana','lisa'))
		print(res.replace('100$',"100000$",1))
    12.字符串的拼接  ''.join()
    	eg:
	    res1 = 'hello'
        res2 = 'world'
        print(res1+res2)
        print(res1*2+res2*2)  # 字符串支持加号、乘号的拼接
        print(''.join(res1,res2))   # join括号里面只有一个参数 报错
        print(''.join([res1,res2]))
        print('@'.join(['nana','xiaoxiao']))
        print('@'.join(['nana','xiaoxiao',33])) # 列表中的数据都必须是字符串类型 报错
        
    13.判断字符串中是否是纯数字 str.isdigit()
    	eg:
		print('123'.isdigit())  # True
         print('123a'.isdigit())  # False
    	 print(''.isdigit())  # False

    14.查找某个字符对应的索引值  str.index()  str.find()
    	index查找索引 如果没有则报错
        find查找索引 如果没有这返回-1
    	eg:
	    res ='haha nihao '
        print(res.find('a'))  # 1 从左到右开始找
        print(res.index('a'))  # 1
        print(res.index('g'))  # 报错
        print(res.find('g'))  # -1
        print(res.find('n',0,5))   # -1   在索引位置0-4中查找‘n'
        print(res.index('n',0,5))  # 报错

    15.正文相关操作 str.title()  str.capitalize()
    	eg:
        res = 'love in life'
        print(res.title())  # Love In Life  每个单词首字母大写
        print(res.capitalize())  # ove in life  只有第一个单词首字母大写
    	

列表(list)的相关方法

1.关键字:list
2.类型转换:能够被for循环的数据类型都可以转换成列表(字符串、集合、字典、元组) 
	eg:
    print(list(11))  # 报错
    print(list(11.1))  # 报错
    print(list(False))  # 报错
    print(type(list('123')),list('123'))
    print(type(list((1,2,3))),list((1,2,3)))
    print(type(list('123243jasdsad')), list('123243jasdsad'))
    print(type(list({'name':'nana','age':18})),list({'name':'nana','age':18}))   # <class 'list'> ['name', 'age']

3.需要掌握的方法
	l1 = ['jason', 'kevin', 'oscar', 'tony']
    1.索引取值
      print(l1[0])  # jason
	  print(l1[-1])  # tony
    2.切片操作
      print(l1[0:3])  # ['jason', 'kevin', 'oscar']
	  print(l1[:])  # ['jason', 'kevin', 'oscar', 'tony']
	  print(l1[-4:-1])  # ['jason', 'kevin', 'oscar']
    3.间隔/方向
      print(l1[::2])  # ['jason', 'oscar']
    4.统计列表中数据的个数 len()
      print(len(l1))  # 4
    
	

作业

1.基于字符串充当数据库完成用户登录(基础练习)
	data_source = 'jason|123'  # 一个用户数据
  	获取用户用户名和密码 将上述数据拆分校验用户信息是否正确
    
 解题步骤: 1.先拆分数据  得到用户数据的用户名和密码
		  2.登录功能实现 先获取用户输入的密码和用户名 再进行if判断
    
            data_source = 'jason|123'
            name,pwd = data_source.split('|')
            user_name = input("请输入你的用户名:>>>").strip()
            user_pwd = input("请输入你的密码:>>>").strip()
            if name == user_name and pwd == user_pwd:
                print("登录成功")
            else:
                print("用户名或密码错误")
                
2.基于列表充当数据库完成用户登录(拔高练习)  # 多个用户数据
	data_source = ['jason|123', 'kevin|321','oscar|222']
 解题步骤: 1.分别取出各个用户的用户名和密码  可用列表索引或for循环取出
		  2.解压赋值
    	  3. 判断比较
 方案一:
data_source = ['jason|123', 'kevin|321','oscar|222']
name1,pwd1 = data_source[0].split("|")
name2,pwd2= data_source[1].split("|")
name3,pwd3= data_source[2].split("|")
user_name = input("请输入你的用户名:>>>").strip()
user_pwd = input("请输入你的密码:>>>").strip()
if name1 == user_name and pwd1 == user_pwd:
     print("登录成功")
elif name2 == user_name and pwd2 == user_pwd:
     print("登录成功")
elif name3 == user_name and pwd3 == user_pwd:
     print("登录成功")
else:
    print("用户名或密码错误")

方案二:
data_source = ['jason|123', 'kevin|321','oscar|222']
while True:
    user_name = input("请输入你的用户名:>>>").strip()
    user_pwd = input("请输入你的密码:>>>").strip()
    for i in data_source:
        name,pwd= i.split('|')
        # print(name,pwd)
        if name == user_name and pwd == user_pwd:
            print("登录成功")
            break
        else:
            continue

标签:内置,name,res,eg,浮点,str,type,print,方法
来源: https://www.cnblogs.com/luonacx/p/16410494.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有