首页 > 编程语言 >python -day4

python -day4

时间:2022-09-26 18:34:56浏览次数:54  
标签:python 数据类型 day4 list t1 运算符 print 元组

python -day4

目录

python作业讲解

附加练习题(提示:一步步拆解)

1.想办法打印出jason

l1 = [11, 
      22, 
      'kevin', 
      ['tony', 
       'jerry', 
       [123, 
        456, 
        'jason']
       ]
      ]
print(li[3][2][2])

2.想办法打印出大宝贝

d1 = {'name': 'jason', 
      'others': {'a1': 'heiheihei', 
                 'a2': {'k1': 'hahaha', 
                        'k2': 'hehehe', 
                        'k3': '大宝贝'}
                 }
      }


print(d1['others']['a2']['k3'])

3.想办法打印出run

data = {'username': 'jason', 
        'hobby': [11,
                  22, 
                  {'height': 183, 
                   'hobby': ['read', 
                             'run', 
                             'music'
                             ]
                   }
                  ]
        }
print(data['hobby'][2]['hoddy'][1])

基本数据类型布尔值bool

布尔值:true和false

python中数据自带布尔值

布尔值false:0、none、[]、{}、()

布尔值true:除了上面的

布尔值的变量名一般以is开头

is_alive = ture

基本数据类型元组tuple

元组(tuple)与列表类似,不同之处,元组的元素不能修改。元组写在小括号()中,数据值与数据值用逗号(,)隔开可以是任何数据类型。

t1 = (110, 120, 130, 'body')
t2 = (110, 140, 'sex')
print(t1) # 输出完整元组
print(t1[0]) # 输出元组中第一和元素
print(t1[0:3]) # 输出元组中从索引0(包括)到索引3(不包括)结束
print(t1[1:]) # 输出元组从索引1到最后
print(t1*2) # 输出两遍元素
print(t1+t2) # 输出t1和t2元素的集合 重复也输出
print(t1[-1]) #输出从后往前的元素
print(len(t1)) # 输出元素的长度
'''
元素值无法修改但是可以把元组转换成列表更改元素最后再转化成元组
'''
t3 = list(t1)
t3[2] = "1212"
t1 = tuple(t3)
print(t1)
	 t1 = (1)
    t2 = (11.11)
    t3 = ('jason')
    print(type(t1), type(t2), type(t3))  # <class 'int'> <class 'float'> <class 'str'>
    t1 = (1,)
    t2 = (11.11,)
    t3 = ('jason',)
    print(type(t1), type(t2), type(t3))  # <class 'tuple'> <class 'tuple'> <class 'tuple'>
    """
    建议:以后在使用可以存放多个数据值的数据类型时 如果里面暂时只有一个数据值 那么也建议你加上逗号
    """

基本数据类型集合set

集合是无序和无索引的集合。在 Python 中,集合用花括号编写。

集合只能用于去重和关系运算。

集合中的数据只能是不可变类型

代码实现

thisset = {"apple", "banana", "cherry"}
print(thisset)

定义空集合与空字典
{} 默认是字典
set() 定义空集合

.add()添加项目

​ .update()添加多个项目到集合中

​ .len可以获取项目个数

​ .remove()或者discard()可以删除元素

​ .clear()清楚集合

​ .del彻底删除集合

​ .union()连接多个集合

用户交互

1获取用户输入

input # 获取用户输入
username = input('输入你的用户名')
password = input( '输入你的密码')
"""
	 1.先执行input获取用户输入
    2.将输入的数据绑定给变量名username
    3.以后在程序中就可以使用变量名反复调用用户数据
"""
input 获取的信息会成为字符串

2输出内部信息

print

1括号中即可以放数据又可以放变量名,支持多个中间用逗号隔开

2print自带换行

换行符:\r\n \n 斜杠与字母组合到一起会产生特殊的含义

3print也可以切换结束符

print(数据,end='默认是\n')

python2中
	input方法需要用户自己提前指定数据类型 写什么类型就是么类型一致 输入的统一处理成字符串
	python2中
    	print方法有两种使用方式

print 数据值
print(数据值)

格式化输出

提前定义好一些内容,在需要的时候只需要局部修改。

eg:合同、通知书、证书等

代码实现现实生活中用下划线来提示别人内容。

在程序中需要占位符:%s %d

info = '%s您好'
'''单个占位符'''
info = '%s您好'
print(info % 'leilei')
print('%s您好' % 'mingming')
print(info % ('lei1',))
print('%s您好' % ('lei2'))
''' 多个占位符'''
info2 ='姓名:%s 年龄:%d 爱好:%s'
print(info2 % ('leilei', 18, 'rap'))
q1 = info2 % ('leilei', 18, 'rap')
print(q1)
print(type(q1))
print('姓名:%s 年龄:%d 爱好:%s' % ('lei1', 16, 'sing'))
'''注意事项:有几个占位符就需要几个数据值'''
'''不同占位符的区别'''
demo1 = '%s您好 您本月的话费是%s 余额是%s'  # %s常见数据类型都支持
demo2 = '%d您好 您本月的话费是%d 余额是%d'  # %d只支持数字类型
print('%08d'% 123)  # 00000123生成8位数
print('%08d'% 1234324324)  # 1234324324多了即赋值的数值

基本运算符

运算符

 +   -   *   /    %     //    **

简化写法

    n = 10
    n += 1  # n = n + 1
    n -= 1  # n = n - 1
    n *= 1  # n = n * 1
    n /= 1  # n = n / 1
    n %= 1  # n = n % 1
    n //= 1  # n = n // 1
    n **= 1  # n = n ** 1

2.比较运算符
< > <= >= ==(等于号) !=(不等于)

常用赋值符

1链式赋值

t1 = '01'

12 = t1
t3 = t2
# t1=t2=t3

2交叉赋值

m = 100
y = 101
方法1:
z = m
m = y
y = z
print(m, y, z)
方法2:
m, y = y, m
print(m, y)

3解压赋值

n_list = ['zhangsan', 'lisi', 'wangwu', 'zhaoliu']
#低级写法
name1 = n_list[0]
name2 = n_list[1]
name3 = n_list[2]
name4 = n_list[3]
# 正常写法
name1, name2, name3, name4 = n_list
#解压赋值在使用的时候需要保证左边的变量名与右边的数值个数保持一致
#当需要解压的数据个数较多只需要其中几个是可以用
	 a, *b = n_list
    print(a)  # zhangsan
     print(b)  # ['lisi', 'wangwu', 'zhaoliu']
     a, c, *b = n_list
     print(a)
     print(c)
     print(b)  # ['wangwu', 'zhaoliu']
     a, *b, c = n_list
     print(a)  # zhangsan
     print(b)  # ['lisi', 'wangwu']
     print(c)  # zhaoliu
   # 当数据值不准备使用的时候 可以使用下划线作为变量名绑定
   a, *_, c = n_list


逻辑运算符

配合条件一起使用

and(与) or(或) not(非)

and连接多个条件成立时结果才成立

print(1 < 10 and 666) # 666
print(1 < 10 and 2 > 1) # false
print(111 and 222) #222

如果and左边的条件是成立的 那么就完全取决于右边的条件。 右边如果直接是数据值 那么结果就是该数据值 如果是含有表达式 则为布尔值。

or 或

or连接多个条件只有一个条件成立则成立

a = 200
b = 66
c = 500
if a > b or a > c:
  print("At least one of the conditions is True")
#At least one of the conditions is True

not 非

取反

"""
三者混合使用的时候有优先级之分 但是我们不需要记忆优先级 应该通过代码的形式提前规定好优先级
	eg: 先乘除有加减  但是可以使用括号来改变优先级
	(3>4 and 4>3) or ((1==3 and 'x' == 'x') or 3 >3)
"""

成员运算符

判断个体在不在群体内
n1 = ['a1', 'a2', 'a3', 'a4', 'a5']                 
print('a1' in n1)                             print('a1' not in n1)                           print('a' in n1)                             s1 = 'hello world'                             print('d' in s1)   
d1 = {
      'username': 'jason',
      'pwd': 123
}
print('jason' in d1)  # False 字典成员运算只有键参与
print('username' in d1)  # True      'username' 'pwd'

身份运算符

id()返回一串数字该数字可以看成内存地址

is 判断内存地址是否相同
== 判断数据值是否相同
d1 = [11, 22, 33, 44, 55, 66, 77, 88]  
d2 = [11, 22, 33, 44, 55, 66, 77, 88]  
print(11 == 12)                        
print(id(11))                          
print(id(12))                          
print(d1 is d2)                        
i1 = 11                                
i2 = 22                                
print(i1 is i2)                        
s1='leileilei'                         
s2='leileilei'                         
print(s1 is s2)  

"""
了解
    值相同 内存地址可能不同
    内存地址相同 值肯定相同
"""

作业

获取用户输入并打印成下列格式
------------ info of Jason -----------
Name : Jason
Age : 18
Sex : male
Job : Teacher
---------------- end -----------------

准备说出下列变量名v绑定的结果

	 v1 = 1 or 3 #1
    v2 = 1 and 3 #3
    v3 = 0 and 2 and 1 #0
    v4 = 0 and 2 or 1 #1
    v5 = 0 and 2 or 1 or 4 #1
    v6 = 0 or False and 1 #false

标签:python,数据类型,day4,list,t1,运算符,print,元组
From: https://www.cnblogs.com/bnmm/p/16731950.html

相关文章

  • python练习题
    1.输入账号密码,判断成功,程序退出。判断失败,继续登录输入。考察点:while和if语句的运用,及flage标志位。#coding=utf-8;flage=True;whileflage:user=raw_inpu......
  • 【转载】Python的深浅拷贝以及应用场景
    深浅拷贝的原理深浅拷贝用法来自copy模块。导入模块:importcopy浅拷贝:copy.copy深拷贝:copy.deepcopy字面理解:浅拷贝指仅仅拷贝数据集合的第一层数据,深拷贝指拷贝数据......
  • Python学习路程——Day04
    Python学习路程——Day041、基本数据类型之布尔值bool​ 布尔值(bool)是用来判断条件是否对错的数据类型,只有两个值(True、False)​ Python基本的数据都内置了一个bool值​......
  • 使用ANTLR用Python解析一些Java代码
    我想在Python中使用ANTLR构建一个Java解析器我从ANTLR存储库下载了语法:Lexer:https://github.com/antlr/grammars-v4/blob/master/java/java/JavaLexer.g4分析器:https:/......
  • 关于使用conda create -n offline_per python=3.7时报错的问题
    为使用多个服务器节点进行训练offline_per,因为需要安装Atari,Mujoco,d4rl以及dm-control等,准备在多个节点上安装cond环境。但遇到一些问题:  经过研究,发现可能是默认......
  • 女朋友让我深夜十二点催她睡觉,我有Python我就不干
    事情是这样的:今天晚上,女朋友让我十二点催她睡觉。 不过,可是我实在太困了,熬不下去……是吧?女朋友哪有睡觉重要?   但,女朋友的命令,我是不敢违抗的……   ......
  • Python 分部分项 数据处理2 桂柳
    excel格式python代码importosimportopenpyxlfromopenpyxlimportWorkbookfromcopyimportdeepcopyfromopenpyxl.utilsimportget_column_letter#原文:ht......
  • 【Python】【Flask】【字符串索引】计算人民币与美元的相互计算
    目录简介PythonCode导包设置首页计算的接口问题0:设置请求方式问题1:关于接收数据可能存在的问题问题2:返回结果启动完整代码HTMLCode问题分析分析:获取下拉列表框的选中值分......
  • python-模块-模块导入之其它函数
    1.dir()dir()函数一个排好序的字符串列表,内容是一个模块里定义过的名字。返回的列表容纳了在一个模块里定义的所有模块,变量和函数1.1dir示例定义一个模块#coding-......
  • python中实现days360函数
    #-*-coding:utf-8-*-"""CreatedonFriSep2320:42:582022@author:Administrator"""importtimeimportdatetimedefdays360(start_date,end_date,meth......