با سلام به همه دوستان و برنامه نویسان.
بعد از سلام می خواستم که دوستان به من کمک کنند تا بتوانم این سوال مشکل را با هم حل کنیم.
خیلی عجله دارم خواهش می کنم به این سوال مشکل پاسخ دهید
این سوال را در این دو فایل قرار دارند:
فایل اول
#!/usr/bin/python
# -*- coding: utf-8 -*-
"""
(c) IST Research 2014
Overview:
The purpose of this exercise is to find the hidden and obfuscated phone numbers
within the file named 'ist_numbers.txt'. This file contains 10 digit phone
numbers of varying degrees of obfuscation in order to thwart code that pulls them out.
Your task is to find as many of these phone numbers as you can, and write the cleaned and prettied
10 digit phone numbers to the result file 'ist_results.txt'. Please leave
comments so we may better understands your thoughts and logic behind your code if
it is unclear.
You are free to use any resources except your neighbor.
What to submit:
Your improved 'ist_test.py' file
Your results 'ist_results.txt'
Helpful links:
http://docs.python.org/2/library/std...string-methods
http://docs.python.org/2/library/re.html
https://pythex.org/
"""
import re
class IST_Software_Dev():
# class specific variables can be created like this
myCounter = 0
myString = 'blah'
# this is where the phone numbers will be stored
myList = []
# internal method declaration
# you always need 'self' as the first parameter
def runTest(self):
# open the file
with open('ist_numbers.txt', 'r') as theFile:
#process each line of the file
for line in theFile:
# call another internal class method like this
self.findNumbers(line)
# write the findings to the file
self.writeResults()
"""
-------------------------------------------------
Put your implementation here for extracting and
de-obfuscating the phone numbers line by line
-------------------------------------------------
"""
def findNumbers(self, aLine):
# reference class variables declared prior like so
self.myCounter += 1
# Please use the 'append' list function to add each
# cleaned phone number to the results list
# Ex:
self.myList.append(self.myCounter)
"""
Writes the results of the findings
This will write a file that looks like:
9016433769
6173903733
5636071868
etc...
"""
def writeResults(self):
with open('ist_results.txt', 'w') as resultsFile:
for i in range(len(self.myList)):
resultsFile.write(str(self.myList[i]) + '\n')
"""
Ran via 'python ist_test.py' or './ist_test.py'
"""
if __name__ == "__main__":
mainClass = IST_Software_Dev()
mainClass.runTest()
فایل دوم
Lorem 9016433769 ipsum dolor sit amet, consectetur adipiscing elit.
Integer placerat elementum odio et euismod. Maecenas euismod malesuada sagittis.
Fusce vestibulum quam id molestie 6:1:7 three 9 oh 3 seven 33 adipiscing. Cras blandit sapien semper aliquet mattis. Nunc id
enim rhoncus, sagittis nulla bibendum, cursus lectus. Morbi facilisis
at ligula in convallis. Fusce ultricies facilisis quam vel sodales. Integer
vulputate eget orci at luctus. Sed adipiscing bibendum leo sit amet sollicitudin. Ut accumsan justo sed luctus
commodo. Donec consectetur (: 5.6.3.6.0.7.1.8.6.8. rutrum faucibus. Duis iaculis rhoncus dolor et dictum.
Sed posuere tellus eget est pulvinar viverra. Nunc ullamcorper massa non tellus
sollicitudin, sed auctor quam consectetur. Vivamus tempor neque urna, at faucibus nulla pellentesque in.
Integer eu euismod 916968 THREE 8 one 3 sem, id pulvinar nunc. Sed pulvinar libero vel ipsum 706-834-9983 scelerisque malesuada convallis nec ipsum.
Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Vestibulum placerat
posuere pellentesque. Vivamus varius enim non interdum cursus. Pellentesque sed
turpis et erat aliquet aliquet vitae quis magna. Mauris lacus diam, ultricies
sit amet . 904 647 0208. aliquet eget, facilisis eget erat. Duis varius odio eu 4159138946
vulputate tempor. Proin volutpat sollicitudin ligula, et consequat
felis eleifend vel. Morbi viverra consequat orci, in blandit odio porta non.
Proin diam justo, varius non ultricies in, facilisis vel neque. Donec vel
pellentesque (. (. . .`. (6.4.7) Seven 8*2 - 5*3*6*2</ eros. Nullam aliquam volutpat ipsum, eu malesuada odio
rutrum at. Quisque congue metus vel odio imperdiet aliquet. Ut dignissim risus at eros ultricies, tincidunt mollis
nibh dignissim. Curabitur aliquet tempor arcu, vitae ullamcorper ligula eleifend at. Suspendisse potenti.
Morbi ornare ultricies magna at pellentesque. Cras bibendum ultricies felis et porttitor. Donec
vel pharetra justo. Curabitur facilisis nec tortor vitae tincidunt.
Nulla facilisi. Maecenas aliquet orci nulla,
nec posuere sem vehicula vitae. Sed porttitor mauris a lectus eleifend lobortis. Vivamus pellentesque semper massa,
eu tincidunt nisl 617-993-0317** consequat eu. Etiam tempus leo velit, in euismod velit blandit id. Nulla ultrices libero
sit amet cursus facilisis. Aliquam suscipit a mauris non 4o7 378 3i69 volutpat.
Aenean elementum, lectus convallis malesuada blandit, lectus justo lobortis odio,
sed dignissim sem nunc et tortor. Vestibulum fermentum condimentum
mauris a feugiat. 7seven4.3two2.1three6one Quisque molestie a lectus et varius. Ut gravida, eros 9548022993 ac pretium fermentum, nisi enim
auctor eros, at rhoncus nunc sapien at velit. Nullam libero nisl, lacinia sed
suscipit ac, vehicula elementum elit. Duis a sem aliquam, condimentum
mauris id, bibendum 415 3six1 zero3four1 est. Duis lacinia nisi at augue interdum lacinia. Suspendisse congue lectus in cursus
volutpat. Proin tellus lorem, faucibus ac risus sed, convallis semper urna. Mauris in tortor
sed ligula bibendum adipiscing a non massa. Mauris sagittis et nisi non
commodo. (425)231-5975 Mauris non diam a justo condimentum pulvinar sit amet eget tellus.
Sed gravida magna et augue tincidunt, ut placerat mauris venenatis. Cum sociis
natoque penatibus et magnis dis (516) 851-7120 parturient montes, nascetur six four seVen eight five twO two eight Eight three ridiculus mus.
Pellentesque sed consequat risus, vel malesuada nunc. Proin urna arcu, imperdiet a est sed, vulputate
pharetra ante. Praesent viverra, ligula vitae volutpat rutrum, arcu ipsum imperdiet arcu, at volutpat
orci mauris sed est. Vivamus eget ; ** (5.1.0) // 4.0.2 // 6.4.4.5</ aliquam elit. Suspendisse viverra quam eget interdum facilisis. Quisque at dui
ac libero pellentesque aliquet. Maecenas dapibus metus.