「Python」2020.03.24学习笔记 | 第五章字符串-习题+字符串的类型、换行与转义、运算

  • 学习测试开发的Day82,真棒!
  • 学习时间为1H10M
  • 第八次全天课(下午视频10M-1H3M)

练习8:统计以下一句话中,有几个开头为ab的单词

abandon your dream abnoram1 !
自己的代码:

s="abandon your dream abnoram1 !"
s=s.split()
print(s)
for i in s:
    if i[0]=='a' and i[1]=='b':
            print(i)

结果:

PS D:\0grory\day8> python .\ab.py
['abandon', 'your', 'dream', 'abnoram1', '!']
abandon
abnoram1
PS D:\0grory\day8>

老师的代码:

s="abandon your dream abnoram1 !"
word_list=s.split()
result=0
for word in word_list:
    if word[:2]=="ab":
        result+=1

print("包含ab开头的字母一共有%s个"%result)

输出:

PS D:\0grory\day8> python .\t_ab.py
包含ab开头的字母一共有2个
PS D:\0grory\day8>

练习9:找到dream所在的字符串的坐标位置,返回开始和结束位置。

abandon your dream abnoram1 !
自己的代码:

s="abandon your dream abnoram1 !"
s=list(s)
print(s)
l=len(s)
for i in range(l-4):
    if s[i]=='d' and s[i+1]=='r' and s[i+2]=='e' and s[i+3]=='a' and s[i+4]=='m':
        print(i,i+4)
    

输出

PS D:\0grory\day8> python .\dream.py
['a', 'b', 'a', 'n', 'd', 'o', 'n', ' ', 'y', 'o', 'u', 'r', ' ', 'd', 'r', 'e', 'a', 'm', ' ', 'a', 'b', 'n', 'o', 'r', 'a', 'm', '1', ' ', '!']
13 17
PS D:\0grory\day8>

老师的代码方法1-find:

s="abandon your dream abnoram1 !"
print(s.find("dream"))

输出:

PS D:\0grory\day8> python .\find_word.py
13
PS D:\0grory\day8>

老师的代码方法2:

s="abandon your dream abnoram1 !"
for i in range(len(s)):
    if s[i:i+5]=="dream":
        print("dream单词开始的位置是%s"%i)
        print("dream单词结束的位置是%s"%(i+4))

输出:

PS D:\0grory\day8> python .\find_word.py
dream单词开始的位置是13
dream单词结束的位置是17
PS D:\0grory\day8>

分享

钱挣钱容易,人挣钱难!

工银瑞信双利债券B

3个月 2.1%

1年9-10%

3年17%

《轮回》

股票基金:4500点

指数基金:4500点

债券基金

货币基金

挣了30%的分享-把钱分为10份:

很大跌幅:买入1份

涨卖:3%

跌3%以上:买双份

又跌:3%,双份,就是4份

字符串类型

image.png

换行和转义

image.png
>>> print("1\t2")
1       2

>>> print(len("1\t2"))
3
>>>
>>> print("a\nb")
a
b
>>> print("a\r\n\b")
a

>>> print("a\r\nb")
a
b
>>>
>>> print("\")
  File "", line 1
    print("\")
             ^
SyntaxError: EOL while scanning string literal
>>> print("\\")
\
>>> print("\n\r")


>>> print(r"\n\r")
\n\r
>>> print(R"\n\r")
\n\r
>>>

>>> print(R"c:\test\test1")
c:\test\test1
>>> print("c:\test\test1")
c:      est     est1
>>> print(r"c:\test\test1")
c:\test\test1
>>> print("c:\\test\\test1")
c:\test\test1
>>>

字符串运算

image.png

第二种方式是推荐的

>>> "a"+"b"
'ab'

>>> "%s%s"%("a","b")
'ab'
>>>

string数组 c=a+b 三个变量

stringbuffer 可以修改

stringbuilder 线程安全的

线程安全是用锁来实现的

时间换空间,空间换时间

同步和异步:并联和串联,异步效率高,同步效率低,越复杂越异步

例子:
之前有个社区的系统,几个子系统都会用到登录,在注册时,如果使用同步把这些子系统同时都赋予权限,需要5s,用户体验不好,但是做成异步,用户可以先使用其中一个系统,其他的系统在后面慢慢开权限

测服务器端,人工智能、大数据

>>> "__"*10
'____________________'
>>>
>>> "10"*10
'10101010101010101010'
>>> 10*10
100
>>>

小题:写一个函数,2个参数,一个是字符串,一个是重复次数

自己的代码

def f(s,n)
    result=""
    for i in range(n):
        result+=s
    return result
s="#####"
n=5
print(f(s,n))

输出:

PS D:\0grory\day8> python .\sn.py
#########################
PS D:\0grory\day8>

老师的代码:

#小题:写一个函数,2个参数,一个是字符串,一个是重复次数
def mul_str(s,times):
    result=""
    for i in range(times):
        result+=s
    return result

print(mul_str("ab",5))

输出:

PS D:\0grory\day8> python .\sn.py
ababababab
PS D:\0grory\day8>

你可能感兴趣的:(「Python」2020.03.24学习笔记 | 第五章字符串-习题+字符串的类型、换行与转义、运算)