Best Python code snippet using pyatom_python
compiler.py
Source:compiler.py
1import os23hatalar = {4 "ikiNoktalar": [],5 "trueFalseler": [],6 "tablar": [],7 "parantezler": [],8}91011def isExists(ertype):12 if len(hatalar[ertype]) > 0:13 return "Var" 14 else:15 return "Yok"1617def getStringOfLines(which):18 stringim = ""19 for i, x in enumerate(hatalar[which]):20 if not i == 0:21 stringim = stringim + ',' + str(x) 22 else: 23 stringim += str(x) 24 if not stringim == '':25 return stringim26 else: 27 return 'Yok'2829def getLine(line):30 file = open(targetFileName, 'r')31 for i, l in enumerate(file):32 if l == line:33 return (i+1)3435def findPreviousLine(line):36 file = open(targetFileName, 'r')37 prefile = file.readlines()[getLine(line) - 2]38 return prefile3940def findAfterLine(line):41 file = open(targetFileName, 'r')42 try:43 afline = file.readlines()[getLine(line)] 44 return afline45 except:46 pass47484950def getCharCount(line):51 i = 052 for x in line:53 if line != ' ':54 if x == ' ':55 i+=156 else: 57 break58 # i = boÅluk sayısı59 return i606162def getParentStatement(line):63 file = open(targetFileName, 'r')64 look = False65 for x in file.readlines().reverse():66 if x == line:67 look = True68 pass 69 if look == True:70 if (x.replace(" ", "")).startswith('if') == True:71 return x 72def tabErr(line):73 preline = findPreviousLine(line)74 afterline = findAfterLine(line) or ""75 if (line.replace(" ", "")).startswith('if') == True:76 if not getLine(line) in hatalar["tablar"]:77 if getCharCount(line) != getCharCount(preline):78 hatalar["tablar"].append(getLine(line))79 if (preline.replace(" ", "")).startswith('if') == True:80 if not getLine(line) in hatalar["tablar"]:81 if (getCharCount(afterline) or 0) != getCharCount(line):82 hatalar["tablar"].append(getLine(line))83 if not getCharCount(line) >= 1:84 hatalar["tablar"].append(getLine(line))85 86 elif (getCharCount(afterline) != getCharCount(line)) or (getCharCount(afterline) != getCharCount(preline)) or (getCharCount(preline) != getCharCount(line)):87 if not getLine(line) in hatalar["tablar"]:88 hatalar["tablar"].append(getLine(line))89 9091def ikiNokta(line):92 if (line.replace(' ', '')).startswith('if') == True:93 if line.endswith(':') != True:94 hatalar["ikiNoktalar"].append(getLine(line))9596def parantheseHatasi(line):97 if line.count('(') != line.count(')'):98 hatalar["parantezler"].append(getLine(line))99100def trueFalse(line):101 if ("true" or "false") in line:102 hatalar["trueFalseler"].append(getLine(line))103def compileFile():104 file = open(targetFileName, 'r')105 for number, line in enumerate(file.readlines()):106 ikiNokta(line)107 trueFalse(line)108 tabErr(line)109 parantheseHatasi(line)110 print('Ä°ki nokta hatası :' + isExists('ikiNoktalar') + '(Satırlar:' + getStringOfLines("ikiNoktalar") + ')')111 print('True & False Hatası :' + isExists('trueFalseler') + '(Satırlar:' + getStringOfLines("trueFalseler") + ')')112 print('Tab Hatası :' + isExists('tablar') + '(Satırlar:' + getStringOfLines("tablar") + ')')113 print('Parantez Hatası :' + isExists('parantezler') + '(Satırlar:' + getStringOfLines("parantezler") + ')')114115fileName = input('Dosya adını uzantısı olmadan giriniz. (Aynı dizinde bulunmalıdır.) : ')116targetFileName = fileName + ".py"117isFound = False118for file in os.listdir(os.getcwd()):119 if file == targetFileName and file != 'compiler.py':120 isFound = True 121 compileFile()
...
challenge_17.py
Source:challenge_17.py
1#Oliver Hamilton2#Challenge 17 - Number letter counts3#27/12/202045#CONSTANTS67#Mapping from numbers less than 20 to character counts8unitsMapping = {'1': 'one',9 '2': 'two',10 '3': 'three',11 '4': 'four',12 '5': 'five',13 '6': 'six',14 '7': 'seven',15 '8': 'eight',16 '9': 'nine',17 '10': 'ten',18 '11': 'eleven',19 '12': 'twelve',20 '13': 'thirteen',21 '14': 'fourteen',22 '15': 'fifteen',23 '16': 'sixteen',24 '17': 'seventeen',25 '18': 'eighteen',26 '19': 'nineteen'27 }28#Mapping from tens (20, 30, 40, ...) to character counts29tensMapping = {'2': 'twenty',30 '3': 'thirty',31 '4': 'forty',32 '5': 'fifty',33 '6': 'sixty',34 '7': 'seventy',35 '8': 'eighty',36 '9': 'ninety'37 }3839def getCharCount(num):40 global unitsMapping41 global tensMapping4243 if int(num) == 0:44 return ""4546 #For thousands47 if len(num) >= 4:48 thousandsDigit = num[0]49 hundredsDigit = num[1]50 tensDigit = num[2]51 unitsDigit = num[3]5253 #If the hundreds are non-zero, the 'and' doesn't need to be included54 if hundredsDigit != '0':55 return getCharCount(thousandsDigit) + 'thousand' + getCharCount(hundredsDigit + tensDigit + unitsDigit)5657 #If one of the units and tens digits are non-zero, the 'and' must be included58 elif tensDigit != '0' or unitsDigit != '0':59 return getCharCount(thousandsDigit) + 'thousand' + 'and' + getCharCount(tensDigit + unitsDigit)6061 #If the hundreds, tens, and units are all zero, the 'and' doesn't need to be included to be included62 else:63 return getCharCount(thousandsDigit) + 'thousand'6465 #For hundreds66 elif len(num) >= 3:67 hundredsDigit = num[0]68 tensDigit = num[1]69 unitsDigit = num[2]7071 #If both tens digit and units digit are 0, don't include the 'and'72 if tensDigit == '0' and unitsDigit == '0':73 return getCharCount(hundredsDigit) + 'hundred'7475 else:76 return getCharCount(hundredsDigit) + 'hundred' + 'and' + getCharCount(tensDigit + unitsDigit)7778 #For tens79 elif int(num) >= 20:80 tensDigit = num[0]81 unitsDigit = num[1]8283 return tensMapping[tensDigit] + getCharCount(unitsDigit)8485 #For units / teens 86 elif int(num) < 20:8788 #If the tens digit is 0, return only the value of the units digit89 if num[0] == '0':90 return unitsMapping[num[1]]9192 else:93 return unitsMapping[num]94959697#Number of letters used in sequence of numbers98letterCount = 099100#Iterate over integers from 1 to 1000 (inclusive)101for i in range(1, 1001):102 #Convert number to string103 currentNum = str(i)104 print(getCharCount(currentNum))105 letterCount += len(getCharCount(currentNum))106107print(letterCount)
...
LessonCreator.py
Source:LessonCreator.py
1from book import Lesson2import logging3class LessonCreator:4 """Creates lessons out of book chapters"""5 def __init__(self, bookName, minChars):6 self._bookName = bookName7 self._minChars = minChars8 def createLessons(self, chapters):9 logging.debug('createLessons()')10 self._lessons = list()11 for chapter in chapters:12 self._parseChapter(chapter)13 return self._lessons14 def _parseChapter(self, chapter):15 logging.debug('Parse chapter ' + chapter.getName())16 lessons = list()17 lesson = Lesson.Lesson(self._bookName, chapter.getName(), 1)18 logging.debug('New Lesson: ' + lesson.getName())19 for paragraph in chapter.getParagraphs():20 lesson.addParagraph(paragraph)21 logging.debug('Add paragraph with ' + str(paragraph.getCharCount()) + ' chars.')22 # End lesson - long enough23 if lesson.getCharCount() >= self._minChars:24 logging.debug('Lesson long enough (' + str(lesson.getCharCount()) + ' chars)')25 lessons.append(lesson)26 lesson = Lesson.Lesson(self._bookName, chapter.getName(), len(lessons) + 1)27 logging.debug('New Lesson: ' + lesson.getName())28 logging.debug('Done with chapter')29 # Merge last lesson (if too short)30 if lesson.getCharCount() > 0:31 if lesson.getCharCount() < self._minChars and len(lessons) > 0:32 logging.debug('Last lesson too short (' + str(lesson.getCharCount()) + ') merging with last lesson')33 prevLesson = lessons[-1]34 if prevLesson:35 prevLesson.mergeLesson(lesson)36 logging.debug('Previous lesson now contains ' + str(prevLesson.getCharCount()) + ' chars')37 else:38 logging.debug('No previous lesson exists, creating lesson anyway')39 lessons.append(lesson)40 else:41 lessons.append(lesson)42 # Add all lessons to lesson list...
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!