day03课堂笔记\作业整理

基本数据类型
    int 整数
    str 字符串   一般不存放大量的数据
    bool  布尔值,用来判断。 True,False
    list  列表。存放大量数据,[]表示,里面可以放各种数据类型
    tuple  元祖,只读列表   ()表示
    dict   字典。 {key:value}
    set  集合。  去重
2,int类型
    bit_length() 返回一个数的二进制长度         基本上用不到

3,bool类型
    只有 True 和 False,一般没有什么操作
    类型转换的问题:
    所有的空为False,非空为True
    想把某数据转换成xxx数据类型,  =>  xxx(数据)
        str > int    int(str)
        int > str    str(int)
        str > bool   bool(str)  非空为True
        int > bool   bool(int)  非0为True

4,str类型
    字符串式不可变的数据类型,不论你执行任何操作,原字符串都是不会改变的,
    每次操作都会返回新字符串

    索引和切片
        索引下标从0开始。  [索引]是你不
        切片里的第二个位置的数可以超出索引,只会给出最后一个值,不会报错
        步长:第三个参数控制方向,  1 >  正向    -1 >  反方向从优往左切

6,str相关操作
    大小写转换:*——记住
        *   upper()  全大写
            title()  首字母大写(只要是不属于英文字母的都是分隔符)
    切来切去:
            center(10,'*')   强行用*在原字符串左右两端拼接,拼接成十个长度
        *   strip()         去除前后两边的空格   lstrip() rstrip()
        *   replace(old,new)       替换
        *   split()         切割(切完的结果是一个列表里面装着字符串)
                注意:贴边则是有空字符串
        *   startswith() endswith     以什么开头
            都可以进行索引的操作
        *   count()          计算出现的次数
        *   find()           查找xxx在字符串中出现的位置索引,只找第一个,找不到返回-1
        *   index()          查找xxx在字符串中出现的位置索引,只找第一个,找不到报错
    条件判断:
            .isalnum    字母数字
            .isdigit    数字
            .isalpha    字母
            .isnumeric  中文数字大小写都可以
    字符串长度:
        *   len()   字符串中字符的个数 (python中的内置函数)

    迭代: ——for循环表示把迭代的对象中的每一个元素赋值给前面的变量
        for 变量 in 可迭代对象:
            循环体,也存在break和continue
        else:
            当循环结束的时候才会执行

day3——作业

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

name = "aleX leNb"

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

s = name.strip()

print(s)

2)移除name变量左边的"al"并输出处理结果

s = name.strip('al')

print(s)

3)移除name变量右⾯的"Nb",并输出处理结果

s = name.strip('Nb')

print(s)

4)移除name变量开头的a"与最后的"b",并输出处理结果

s = name.lstrip('a').rstrip('b')

print(s)

5)判断 name 变量是否以 "al" 开头,并输出结果

print(name.startswith('al'))

6)判断name变量是否以"Nb"结尾,并输出结果

print(name.endswith('Nb'))

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

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

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

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

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

print(name.split('l'))

10)将name变量对应的值根据第⼀个"l"分割,并输出结果。

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

11)将 name 变量对应的值变⼤写,并输出结果

print(name.upper())

12)将 name 变量对应的值变⼩写,并输出结果

print(name.lower())

13)将name变量对应的值⾸字⺟"a"⼤写,并输出结果

print(name.capitalize())

14)判断name变量对应的值字⺟"l"出现⼏次,并输出结果

print(name.count('l'))

15)如果判断name变量对应的值前四位"l"出现⼏次,并输出结果

print(name.count('l',0,5))

16)从name变量对应的值中找到"N"对应的索引(如果找不到则报错),并输出结果

print(name.index('N'))

17)从name变量对应的值中找到"N"对应的索引(如果找不到则返回-1)输出结果

print(name.find('N'))

18)从name变量对应的值中找到"X le"对应的索引,并输出结果

print(name.find("X le"))

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

print(name[1])

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

print(name[:3])

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

print(name[-2:])

22)请输出 name 变量对应的值中 "e" 所在索引位置?

print(name.find('e'))    #第一个e

print(name.find('e',4,8))   #第二个e的位置

 

index= 0

for i in name:

    if i == 'e':

        print(index)

    index += 1

 



2.有字符串

s = "123a4b5c"

1)通过对s切⽚形成新的字符串s1,s1 = "123"

s1 = s[:3]

print(s1)

2)通过对s切⽚形成新的字符串s2,s2 = "a4b"

s2 = s[3:6]

print(s2)

3)通过对s切⽚形成新的字符串s3,s3 = "1345"

s3 = s[::2]

print(s3)

4)通过对s切⽚形成字符串s4,s4 = "2ab"

s4 = s[1:6:2]

print(s4)

5)通过对s切⽚形成字符串s5,s5 = "c"

s5 = s[7:100]

print(s5)

6)通过对s切⽚形成字符串s6,s6 = "ba2"

s6 = s[-3::-2]

 print(s6)




3.使⽤while和for循环分别打印字符串s="asdfer"中每个元素。

s="asdfer"

count = 0

while count < len(s):

    print(s[count])

    count +=1

 

②for i in s:

    print(i)

 




4.使⽤for循环对s="asdfer"进⾏循环,但是每次打印的内容都是"asdfer"。

s="asdfer"

for i in s:

    print(s)

 



5.使⽤for循环对s="abcdefg"进⾏循环,每次打印的内容是每个字符加上sb,
例如:asb, bsb,csb,...gsb。

s="abcdefg"

for i in s:

    print(i + 'sb')


6.使⽤for循环对s="321"进⾏循环,打印的内容依次是:"倒计时3秒","倒计时
2秒","倒计时1秒","出发!"。

s="321"

for i in s:

    print('倒计时%s秒'%i)

else:

    print('go')



7,实现⼀个整数加法计算器(两个数相加):
如:content = input("请输⼊内容:") ⽤户输⼊:5+9或5+ 9或5 + 9,然后进
⾏分割再进⾏计算。

n = input('>>>').split('+')

print(int(n[0].strip()) + int(n[1].strip()))

 

content= input('>>>')

num = content.split('+')

s = (int(num[0].strip()) + int(num[1].strip()))

print(s)




8,升级题:实现⼀个整数加法计算器(多个数相加):
如:content = input("请输⼊内容:") ⽤户输⼊:5+9+6 +12+ 13,然后进⾏
分割再进⾏计算。

content = input('>>>').strip()

n = content.split('+')

sum = 0

for i in n:

  sum += int(i)

print('终极运算之最后结果:%s'%sum)

 



9,计算⽤户输⼊的内容中有⼏个整数(以个位数为单位)。
如:content = input("请输⼊内容:") # 如fhdal234slfh98769fjdla

content = input('>>>')

count = 0

for i in content:

    if i.isdigit():

        count += 1

print(count)





 10、写代码,完成下列需求:
⽤户可持续输⼊(⽤while循环),⽤户使⽤的情况:
   输⼊A,则显示⾛⼤路回家,然后在让⽤户进⼀步选择:
      是选择公交⻋,还是步⾏?      ①,选择公交⻋,显示10分钟到家,并退出整个程序。
                                    ②,选择步⾏,显示20分钟到家,并退出整个程序。
      输⼊B,则显示⾛⼩路回家,并退出整个程序。
      输⼊C,则显示绕道回家,然后在让⽤户进⼀步选择:是选择游戏厅玩会,还是⽹吧?
              选择游戏厅,则显示 ‘⼀个半⼩时到家,爸爸在家,拿棍等你。’并让其重新输⼊A,B,C选项。
              选择⽹吧,则显示‘两个⼩时到家,妈妈已做好了战⽃准备。’并让其重新输⼊A,B,C选项。

flag = True

while flag:

    choice = input('请输入你的选择\nA/a\nB/b\nC/c').strip()

    if choice.upper() == 'A':

        print('走大路回家')

        while flag:

            a = input('请输入序号:\n1:公交车\n2:步行').strip()

            if a == '1':

                print('10分钟到家')

                flag = False

            elif a == '2':

                print('20分钟到家')

                flag = False

            else:

                print('没有这个选项,请重新选择回家方式')

                continue

    elif choice.upper() == 'B':

        print('走小路回家')

        flag = False

    elif choice.upper() == 'C':

        print('绕道回家')

        while flag:

            c = input('请输入序号选择:\n1,游戏厅\n2,网吧').strip()

            if c == '1':

                print('⼀个半⼩时到家,爸爸在家,拿棍等你')

                break

            elif c == '2':

                print('两个⼩时到家,妈妈已做好了战⽃准备')

                break

            else:

                print('没有这个选项,请重新选择回家方式')

                continueelse:

    print('请输入正确的选项')




11、写代码:计算 1 - 2 + 3 ... + 99 中除了88以外所有数的总和?

count = 1

sum = 0

while count <100:

    if count % 2 == 0:

        sum -= count

        if count == 88:

            sum += 88

    else:

        sum += count

count += 1

print(sum)

 

 

count = 1

sum = 0

while count <100:

    if count % 2 == 0:

        if count == 88:

            count +=1  #如果不自加1,count一直是88,跳不出去循环

            continue

        sum -= count

    else:

        sum += count

count += 1

print(sum)



12. (升级题)判断⼀句话是否是回⽂. 回⽂: 正着念和反着念是⼀样的. 例如, 上海
⾃来⽔来⾃海上(升级题)

content = input('请输入>>>:')

if content[::-1] == content:

print('是回文')

else:

    print('宝元是元宝')

 

s = input('>>>')

i = 0

n = len(s) - 1

while n > 0:

    if s[i] == s[n]:

        i += 1

        n -= 1

    else:

        print('这不是回文')

        breakelse:

    print('这就是回文')






13. 输⼊⼀个字符串,要求判断在这个字符串中⼤写字⺟,⼩写字⺟,数字,
其它字符共出现了多少次,并输出出来

content = input('请输入>>>').strip()

upper = 0

lower = 0

num = 0

other = 0

for i in content:

    if i.isupper():

        upper +=1

    elif i.islower():

        lower +=1

    elif i.isdigit():

        num +=1

    else:

        other += 1

print("大写字母有{}个,小写字母有{}个,数字有{}个,其他有{}个".format(upper,lower,num,other))



14、制作趣味模板程序需求:等待⽤户输⼊名字、地点、爱好,根据⽤户的名
字和爱好进⾏任意现实 如:敬爱可亲的xxx,最喜欢在xxx地⽅⼲xxx

name = input('请输入名字:')

place = input('请输入地点:')

hobby = input('请输入爱好:')

print('敬爱可亲{},最喜欢在{}疯狂的对{}输出'.format(name,place,hobby))



15. (升级题) 给出百家姓. 然后⽤户输⼊⼀个⼈的名字. 判断这个⼈是否是百家
姓中的姓⽒(升级题)

百家姓

 

name=input("请输入一个名字:").strip()

name1=name[0]

if name1 in first_names:

  print("good")

else:

  print("这个名字姓氏不在百家姓中!")

 

转载于:https://www.cnblogs.com/lixin012007/p/9671384.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值