- 学习测试开发的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份
字符串类型
换行和转义
>>> 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
>>>
字符串运算
第二种方式是推荐的
>>> "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>