- 学习测试开发的Day80,真棒!
- 学习时间为1H35M
- 第八次全天课(上午视频1H20M-2H5M)
练习5:统计一句话的单词数量
例如: I am a 18 years old boy ! Do you believe , do you?
提示:
1.想办法把标点和数字给过滤掉(用列表,用新的字符串进行拼接)
2.split
3.len(长度)
自己的:
代码
import string
print(string.ascii_letters)
s="I am a 18 years old boy ! Do you believe , do you?"
s2=""
for i in s:
if (i>='a' and i<='z') or (i>='A' and i<='Z'):
s2+=i
elif i==" ":
s2+=i
else:
i=""
print(s2)
s3=s2.split()
print(len(s3))
输出结果:
PS D:\0grory\day8> python .\word_num.py
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
I am a years old boy Do you believe do you
11
PS D:\0grory\day8>
老师的
代码:
s="I am a 18 years old boy ! Do you believe , do you?"
s=list(s)
for i in range(len(s)):
if not((s[i]>='a' and s[i]<='z') or (s[i]>='A' and s[i]<='Z')):
s[i]=" "
print(s)
print("单词数量%s"%len("".join(s).split()))
结果:
PS D:\0grory\day8> python .\teacher_word.py
['I', ' ', 'a', 'm', ' ', 'a', ' ', ' ', ' ', ' ', 'y', 'e', 'a', 'r', 's', ' ', 'o', 'l', 'd', ' ', 'b', 'o', 'y', ' ', ' ', ' ', 'D', 'o', ' ', 'y', 'o', 'u', ' ', 'b', 'e', 'l', 'i', 'e', 'v', 'e', ' ', ' ', ' ', 'd', 'o', ' ', 'y', 'o', 'u', ' ']
单词数量11
>>> "a b c".split()
['a', 'b', 'c']
>>> len("a b c".split())
3
>>>
如果把中国的节假日时间都利用起来,那么你就比别人多了3分之一的时间,
如果有两年的时间,把所有节假日都用来学习,那么你就比别人领先了很多很多
有一个同学是2个娃的妈妈,过年期间没有回家,自己在家学了一个星期,把测试框架重新搭了一遍,薪水涨了80%,苦没有白吃的
达到:只要你在,没有你解决不了的问题
微软老大爷,一个人2个星期搞定了一个团队3-4个月没有搞定的问题
这就是专家与菜鸟的区别
美国程序员是出于热爱,从小就喜欢编程
练习6:把单词逆序输出
自己的
代码
s="I am a 18 years old boy ! Do you believe , do you?"
s=list(s)
for i in range(len(s)):
if not((s[i]>='a' and s[i]<='z') or (s[i]>='A' and s[i]<='Z')):
s[i]=" "
result1="".join(s).split()
print(result1[::-1])
输出:
PS D:\0grory\day8> python .\nx_word.py
['you', 'do', 'believe', 'you', 'Do', 'boy', 'old', 'years', 'a', 'am', 'I']
PS D:\0grory\day8>
老师的
代码:
s="I am a 18 years old boy ! Do you believe , do you?"
s=list(s)
for i in range(len(s)):
if not((s[i]>='a' and s[i]<='z') or (s[i]>='A' and s[i]<='Z')):
s[i]=" "
print(" ".join("".join(s).split()[::-1]))
输出:
PS D:\0grory\day8> python .\nx_word.py
you do believe you Do boy old years a am I
练习7:找出句子中第二长的所有单词!
s="you do believe you Do Cboy old years a am I"
自己的
代码
s="you do believe you Do Cboyu old years a am I"
s=s.split()
len_i=[]
len_s=len(s)
for i in range(len_s):
len_i.append(len(s[i]))
print(max(len_i))
result=[]
for i in range(len_s):
if len(s[i])==max(len_i):
print((max(len_i),s[i]))
else:
result.append(s[i])
print(result)
len_j=[]
for i in range(len(result)):
len_j.append(len(result[i]))
print(max(len_j))
max2num=max(len_j)
for j in range(len(result)):
if len(result[j])==max2num:
print(result[j])
结果输出:
PS D:\0grory\day8> python .\second.py
7
(7, 'believe')
['you', 'do', 'you', 'Do', 'Cboyu', 'old', 'years', 'a', 'am', 'I']
5
Cboyu
years
PS D:\0grory\day8>
最后一道题本来都做出来了,又想改成方法的样子,简练一些,结果没有弄出来,还浪费了15分钟TT,又想试着字典的方式,结果发现,如果是同样长度的单词,value值只变成一个了,就暂时放弃了...
{0: 'you', 1: 'do', 2: 'believe', 3: 'you', 4: 'Do', 5: 'Cboyu', 6: 'old', 7: 'years', 8: 'a', 9: 'am', 10: 'I'}
PS D:\0grory\day8> python .\second_dict.py
{1: 'I', 2: 'am', 3: 'old', 5: 'years', 7: 'believe'}
1 I