pythonday03数据类型(一)

今日内容

1.整型

2.布尔型

3.字符串

4.补充

5.作业讲解

6,pycharm自动生成头文件


1.整型(int)

py2

  • int/long

    • 32位电脑:-2147483648~2147483647

    • 64位电脑:-9223372036854775808~9223372036854775807

    • 超出范围后python自动将其转换成long(长整形)

  • 整型除法只能保留整数位。

 

from __future__ import division

v = 9 /2
print(v)

py3

  • 只有int

  • 整型除法只能保留所有。

2.布尔值(bool/boolen

  • 只有两个值:True/False

  • 转换

    • 数字转布尔:0是False,其他都是True

    • 字符串转布尔:“”是False,其他都是True

3.字符串(str/string

  • 字符串特有

    • .upper() / .lower()

    • .isdigit()

    • .strip() / .lstrip() / .rstrip()

    • .replace("被替换的字符/子序列","要替换为的内容") / .replace("被替换的字符/子序列","要替换为的内容", 1)

    • .split('根据什么东西进行分割') / .split('根据什么东西进行分割',num) :如果参数 num 有指定值,则分隔 num+1 个子字符串

    • .startswith()/.endswith():判断是否以什么开头和结尾
      name = 'alex'
      
      # 判断是否已al开头
      """
      # 方式一:
      flag = name.startswith('al')
      print(flag)
      """
      """
      # 方式二:
      val = name[0:2]
      if val == 'al':
          print('是以al开头')
      else:
          print('不是')
      """
    • .format():格式化
      name = "我叫{0},年龄:{1}".format('老男孩',73)
      print(name)

       

    •  .encode():按所写格式编
      name = '李杰' # 解释器读取到内存后,按照unicode编码存储:8个字节。
      v1 = name.encode('utf-8')
      print(v1)
      v2 = name.encode('gbk')
      print(v2)

      º  .join()每个元素之间加所写的连接符

      name = 'alex' # a_l_e_x
      result = "**".join(name) # 循环每个元素,并在元素和元素之间加入连接符。
      print(result)
      View Code

       

       

  • 公共

    • len ,计算长度。 (字符串->计算字符串中的字符个数)

    • 索引取值(0作为开始)

v = "oldboy"
v1 = v[0]  # 0 1 2 3 ... 从前向后
v2 = v[-1] # -1 -2 -3 ...从后向前

                   º 切片(以0作为开始)

 

v = "oldboy"

# v1 = v[2:4] #   2 =< 索引位置 <3
# v2 = v[3:6]
# v2 = v[3:-1]
# v2 = v[3:]
# v2 = v[:-1]
# print(v2)

# 示例: 取最后两个字符
# data = input('请输入:')
# 方式一
# v = data[-2:]
# print(v)
# 方式二
# total_len = len(data)
# v = data[total_len-2:total_len]
# print(v)

                  °  步长

                      步长格式 变量[开始索引:结束索引:长度]

                      步长计算公式 当前索引+ 步长= 下一个索引
                      步长同时也可以取成负数

                      步长为负数时,省略开头,对应的是最后一个结尾
                      步长为负数时,省略结尾,对应的是第一个元素

name = 'alex'

# val = name[0:-1:2]
# val = name[1:-1:2]
# val = name[1::2]
# val = name[::2]
# val = name[-1:0:-2]
# print(val)
# 笔试题:请将字符串反转。
val = name[::-1]
print(val)

            º    for循环

 

name = 'alex'
for item in name:
    print(item)
    continue
    print('123')

         º     练习题

v = "Python全栈21期"

if "全栈" in v:
    print('含敏感字符')

 

 

4.补充

运算符补充

  • in

value = "我是中国人"
# 判断‘中国’是否在value所代指的字符串中。 “中国”是否是value所代指的字符串的子序列。
v1 = "中国" in value

# 示例
content = input('请输入内容:')
if "退钱" in content:
    print('包含敏感字符')
# 示例
while True:
    content = input('请输入内容:')
    if "退钱" in content:
        print('包含敏感字符')
    else:
        print(content)
        break

   not in

优先级

not 2 > 1

not 2     >    1   # 错误
not    2>1   # 正确

5.习题讲解

【1.三次登陆.py 】

#!/usr/bin/env python
# -*- coding:utf-8 -*-
""""""



"""
需求:用户三次登陆

1. 功能拆分
2. 拼凑功能(中文)
"""

# 功能一:用户登陆
"""
user = input('请输入用户名:')
pwd = input('请输入密码:')
if user == 'oldboy' and pwd == 'alex':
    print('登陆成功')
else:
    print('登陆失败')
"""
# 功能二:三次机会
"""
count = 1
while count <= 3:
    print(count)
    count += 1
"""

# ########################### 功能嵌套 #################################
"""
count = 1
while count <= 3:
    user = input('请输入用户名:')
    pwd = input('请输入密码:')
    if user == 'oldboy' and pwd == 'alex':
        print('登陆成功')
        break
    else:
        print('登陆失败')
    if count == 3:
        break
    count += 1
"""

"""
需求:用户三次登陆,允许用户最多尝试3次,每尝试3次后,如果还没输入正确,就问用户是否还想继续玩,如果回答Y,就继续让其猜3次,以此往复,如果回答N,就退出程序,如何猜对了,就直接退出。

1. 功能拆分
2. 拼凑功能(中文)
"""

count = 1
while count <= 3:
    user = input('请输入用户名:')
    pwd = input('请输入密码:')
    if user == 'oldboy' and pwd == 'alex':
        print('登陆成功')
        break
    else:
        print('登陆失败')
    if count == 3:
        choice = input('请输入是否继续(Y/N):')
        if choice == 'N':
            break
        elif choice == 'Y':
            count = 1
            continue
        else:
            print('输入错误')
            break
    count += 1

【2..用户登陆三次并提示剩余次数.py】

#!/usr/bin/env python
# -*- coding:utf-8 -*-
"""
此文件是用于给同学演示用户三次登陆的示例
"""



# ⽤户登陆(三次输错机会)且每次输错误时显示剩余错误次数(提示:使⽤字符串格式化)

# 功能一:用户登陆
"""
user = input('请输入用户名:')
pwd = input('请输入密码:')
if user == 'oldboy' and pwd == 'alex':
    print('登陆成功')
else:
    print('登陆失败')
"""

# 功能二:三次机会并提示
"""
count = 1
while count <= 3:
    x = input('请输入:')
    # print('用户名和密码输入和校验,错误')
    # print(count) # 剩余2次/ 1次/ 0次
    timer = 3 - count
    template = "用户名或密码输入错误,剩余%s次机会。" %(timer,)
    print(template)
    count += 1
"""
"""
count = 2
while count >=0:
    user = input('请输入用户名:')
    pwd = input('请输入密码:')
    if user == 'oldboy' and pwd == 'alex':
        print('欢迎登陆')
        break
    else:
        template = "用户名或密码输入错误,剩余%s次机会。" % (count,)
        print(template)
    count -= 1
"""

count = 2
while count >=0:
    user = input('请输入用户名:')
    pwd = input('请输入密码:')
    if user == 'oldboy' and pwd == 'alex':
        print('欢迎登陆')
        break
    template = "用户名或密码输入错误,剩余%s次机会。" % (count,)
    print(template)
    count -= 1
else:
    print('三次机会用完')

【3..字符串.py】

#!/usr/bin/env python
# -*- coding:utf-8 -*-
""""""

# ############## 1. upper/lower #################
# value = "alex SB"
# new_value = value.upper()
# new_value = value.lower()
# print(value,new_value)

# #### 验证码示例
"""
check_code = 'iyUF'
message = '请输入验证码 %s:' %(check_code,)
code = input(message)
new_check_code = check_code.lower()
new_code = code.lower()
if new_code == new_check_code:
    print('输入成功')
"""
# #### 验证码示例
"""
check_code = 'iyUF'
code = input('请输入验证码 %s :' %(check_code,))
if code.lower() == check_code.lower():
    print('登陆成功')
"""

# ############## 2. isdigit #################
# print("""欢迎致电10086
# 1.花费查询
# 2.业务办理
# 3.款单
# """)
# while True:
#     num = input('请选择服务:')
#     # 判断用户输入 字符串 是否可以转换成 数字。 # “999”  “阿斯顿发生”
#     flag = num.isdigit()
#     # print(flag) # "1" -> True   "asdf" --> False
#     if flag:
#         num = int(num)
#         print(num)
#     else:
#         print('请输入数字')

# ############## 3. 去除空白 strip/lstrip/rstrip ##############
"""
user = input('请输入用户名:') # "  alex  "

# new_user1 = user.rstrip() # new_user1 = "    alex"    user="  alex  "
# new_user2 = new_user1.lstrip()
# 或
new_user2 = user.strip()

data = new_user2.upper()
print('---->',data,'<-----')
"""

# ############## 4. 替换 replace ##############
"""
message = input('请说话:')
print(message) # “我去你大爷的家里玩”
# data = message.replace('大爷',"**")
data = mess
age.replace('大爷',"**",num)#num -- 可选字符串, 替换不超过 num 次
print(data)
"""

# ############## 5. 切割  split/rsplit ##############
# num -- 分割次数。默认为 -1, 即分隔所有。
""" message = "小黑现在一脸懵逼,因为昨天晚上一直在学习,直到深夜。" # result = message.split(',') # result = message.split(',',1) # result = message.rsplit(',') result = message.rsplit(',',1) print(result) """

【4..公共功能.py】

#!/usr/bin/env python
# -*- coding:utf-8 -*-

# 1. 计算长度
# value = "alex"
# number = len(value)
# print(number)

# 2. 索引
"""
value = 'alexasdfasdfasdfasdfas'
# v1 = value[4]
# print(v1)
value_len = len(value) # 4
index = 0
while True:
    val = value[index]
    print(val)
    if index == value_len-1:
        break

    index += 1

"""
# v = "oldboy"
# v1 = v[0]  # 0 1 2 3 ...
# v2 = v[-3]
# print(v2)


# 3. 切片
# v = "oldboy"
# v1 = v[2:4] #   2 =< 索引位置 <3
# v2 = v[3:6]
# v2 = v[3:-1]
# v2 = v[3:]
# v2 = v[:-1]
# print(v2)

# 示例: 取最后两个字符
# data = input('请输入:')
# 方式一
# v = data[-2:]
# print(v)
# 方式二
# total_len = len(data)
# v = data[total_len-2:total_len]
# print(v)

# 练习题1
"""
需求:让用户输入任意字符串,获取字符串之后并计算其中有多少个数字。
"""
"""
total = 0
text = input('请输入内容:') # ads2kjf5adja453421sdfsdf
index_len = len(text)
index = 0
while True:
    val = text[index]
    #print(val) # "a"
    # 判断val是否是数字
    #     - 是数字:total + 1
    #     -   不是:继续玩下走,执行下一次循环去检查下一个字符。
    flag = val.isdigit()
    if flag:
        total = total + 1 # total += 1
    if index == index_len - 1:
        break
    index += 1

print(total)
"""

6,pycharm自动生成头文件

![1553822713745](C:\Users\oldboy-python\AppData\Roaming\Typora\typora-user-images\1553822713745.png)

 

posted @ 2019-07-23 11:47  嘘,在学习呢  阅读(152)  评论(0编辑  收藏  举报