python day003_int/str/bool/for循环

编码
    1. 最早的计算机编码是ASCII. 美国人创建的. 包含了英文字母(大写字母, 小写字母). 数字, 标点等特殊字符!@#$%
     128个码位 2**7 在此基础上加了一位 2**8
     8位. 1个字节(byte)
    2. GBK 国标码 16位. 2个字节(双字节字符)
    3. unicode 万国码   32位, 4个字节
    4. utf-8:  英文  8 bit 1个字节
         欧洲文字 16bit 2个字节
         中文 24bit  3个字节

 8bit => 1 byte
 1024 byte = > 1kb
 1024 kb => 1mb
 1024mb => 1gb
 1024gb = > 1tb
 

基本数据类型的概述:

    int: 整数

        bit_length() 求二进制长度

    str: 字符串,存储少量的数据

        1.str索引和切片:

            索引:起始下标是0(从左到右),(-1)是从右到左   ,通过索引获取的内容还是字符串

                   a[0]/a[-0]:第一个

            切片: s[起始位置:结束位置:步长]   #顾头不顾尾

        2.字符串的常用操作:(所有的操作,原字符串不变)

            换来换去

                1.capitalize()   :字符串首字母大写

                2.lower()   :字符串全部转换为小写

                3.upper()   :字符串全部转换为大写

                    在程序需要判断不区分大小写的时候使用lower/upper

                4.swapcase()  :大小写互换

                5.casefold()  :转换为小写。不常用。部分欧洲文字不能使用lower的时候

                6.title()   :每个被特殊字符隔开的单词首字母大写

            切来切去

                1.center()    居中

                2.expandtabs()   没有意义 把\t 的长度拉长

                3.strip()   去掉空格 /或者指定的内容  ,去掉的是左右两端的内容,中间不管

                4.lstrip()

                5.rstrip()  

                6.replace()  替换指定的内容

                7.split()  切割,切完之后的内容是列表,列表中的是字符串,如果切到左右两端, 那么会产生空字符

                8.format()   格式化输出

            查找

                1. startswitch()  #判断字符串是否以XXX开头

                2.endswitch()   #判断字符串是否以XXX开头

                3.count()   #判断字符串XX出现的次数

                4.find()   #查找XXX字符串在原字符串中出现的位置,XXX为几位,就要按几位来算。

                5.index()  #与find用法相似,但是若index中的内容不存在,直接报错

            条件判断

                1.isalnum()   是否由字母和数字组成

                2.isalpha()   是否由字母组成

                以下都是:是否由数字组成,不包括小数点

                3.isdigit()   

                4.isdecimal():可以判断小数

                5.isnumeric():可以识别中文数值一二三四

                6.isdigit()


            字符串长度:

                len() :len()是python的内置函数,实际执行__len__()函数

    bool: 布尔,True / False

        类型转换问题:

            想转换成什么类型,就用类型把目标包裹起来:bool(int)  int(bool)

            ""空字符串表示False ,非空字符串表示True   ==>"" 和" "(空格)是两回事。

    list: 列表   ['bonnie', 'seven]

    tuple: 元组 , 只读列表,不能改 ()

    dict: 字典,一对一对的存储数据。key:value   {k1:v1, k2:v2}

    set: 集合, 存储不重复的内容

 

迭代:用for,优势:简单,劣势:没有索引

    for 变量 in 可迭代对象:

        循环体

    else:

        循环结束后执行

 

 

Homework:


1.有变量name = "aleX leNb " 完成如下操作:

name = "aleX leNb "

(1)移除 name 变量对应的值两边的空格,并输出处理结果

print(name)
print(name.strip())

(2)判断 name 变量是否以 “al” 开头,并输出结果(用切片)

if name[0:2] == 'al':
    print('True')
else:
    print('False')

(3)判断name变量是否以"Nb"结尾,并输出结果(用切片)

if name.strip()[-2:] == 'Nb':
    print('True')
else:
    print('False')

(4)将 name 变量对应的值中的 所有的"l" 替换为 “p”,并输出结果

print(name.replace('l','p'))

(5)将name变量对应的值中的第一个"l"替换成"p",并输出结果

print(name.replace('l','p',1))

(6)将 name 变量对应的值根据 所有的"l" 分割,并输出结果

print(name.split('l'))

(7)将name变量对应的值根据第一个"l"分割,并输出结果

print(name.split('l',1))

(8)将 name 变量对应的值变大写,并输出结果

print(name.upper())

(9)将 name 变量对应的值变小写,并输出结果

print(name.lower())

(10)请输出 name 变量对应的值的第 2 个字符?

print(name[1])

(11)请输出 name 变量对应的值的前 3 个字符?

print(name[:3])

(12)请输出 name 变量对应的值的后 2 个字符?

print(name[-2:])


2.有字符串s = “123a4b5c”

s = "123a4b5c"

(1)通过对s切片形成新的字符串 “123”

print(s[:3])

(2)通过对s切片形成新的字符串 “a4b”

print(s[3:6])

(3)通过对s切片形成字符串s5,s5 = “c”

print(s[-1:])

(4)通过对s切片形成字符串s6,s6 = “ba2”

print(s[-3::-2])


3.使用while循环字符串 s=“asdfer” 中每个元素。
s = "asdfer"
i = 0
while i < len(s):
    print(s[i])
    i += 1

4.使用while循环对s="321"进行循环,打印的内容依次是:“倒计时3秒”,“倒计时2秒”,“倒计时1秒”,“出发!”。
s = "321"
count = 0
while count < len(s):
    print('倒计时{0}秒'.format(3 - count))
    count += 1
else:
    print('Go!')
    
5.实现一个整数加法计算器(两个数相加):
如:content = input(“请输入内容:”) 用户输入:5+9或5+ 9或5 + 9(含空白),然后进行分割转换最终进行整数的计算得到结果。
content = input('请输入加法:')
num = content.split('+')
sum = int(num[0].strip()) + int(num[1].strip())
print(sum)


6.计算用户输入的内容中有几个 h 字符?
如:content = input(“请输入内容:”) # 如fhdal234slfh98769fjdla
content = input('请输入内容:')
print(content.count('h'))

7.计算用户输入的内容中有几个 h 或 H 字符?
如:content = input(“请输入内容:”) # 如fhdal234slfH9H769fjdla
content = input('请输入内容:')
print(content.upper().count('H'))

8.使用while循环分别正向和反向对字符串 message = “伤情最是晚凉天,憔悴厮人不堪言。” 进行打印。
message = '伤情最是晚凉天,憔悴厮人不堪言。'
count = 0
while count < len(message):
    print(message[count])
    count += 1
message = message[-1::-1]
while count < len(message):
    print(message[count])
    count += 1
9.获取用户输入的内容中 前4个字符中 有几个 A ?
如:content = input(“请输入内容:”) # 如fAdal234slfH9H769fjdla
content = input('请输入内容:')
print(content[:4].count('A'))

10.获取用户输入的内容,并计算前四位"l"出现几次,并输出结果。
print(content[:4].count('l'))


11.获取用户两次输入的内容,并将所有的数据获取并进行相加,如:

"""
要求:
    将num1中的的所有数字找到并拼接起来:1232312
    将num1中的的所有数字找到并拼接起来:1218323
    然后将两个数字进行相加。
"""

num1 = input("请输入:") # asdfd123sf2312
num2 = input("请输入:") # a12dfd183sf23
# 请补充代码

num1 = input("请输入:") # asdfd123sf2312
num2 = input("请输入:") # asdfd123sf2312
s1 = ''
s2 = ''
for n1 in num1:
    if n1.isdigit():
        s1 = s1 + str(n1)
print(s1)

for n2 in num2:
    if n2.isdigit():
        s2 = s2 + str(n2)
print(s2)

print(int(s1)+int(s2))

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值