مدونة البرمجةمدونة الأنترنت
حل المسائل البرمجية للغة Python بموقع hackerrank وشهادة أساسيات البايثون
حل المسائل البرمجية للغة Python بموقع hackerrank المستوى الاساسي ( Basic )
أن كان لديك علم بأساسيات لغة Python وتريد الحصول على الشهادة خلال دقائق فقط بأمكانك الدخول على قائمة (CERTIFICATION) ومن ثم أختيار Python (Basic) والبدء بتعبة بياناتك الشخصية ومن ثم الموافقة على الشروط وبدء الاختبار والوقت المحدد لك 90 دقيقة للإنجاز .
- للتسجيل بموقع هكررانك hackerrank قم بالاطلاع على هذه المقالة : شرح موقع hackerrank
المسائل التي واجهتني بالاختبار الخاص بشهادة أسياسيات لغة Python :
الاول : Reverse Words and Swap Cases
الثاني : Multiset lmplementation
python : Reverse Words and Swap Cases
def reverse_words_order_and_swap_cases(sentence): words = sentence.split() ## reversing the words using reversed() function words = list(reversed(words)) ## joining the words and printing j = " ".join(words) return j.swapcase()
python : Multiset lmplementation
#!/bin/python import math import os import random import re import sys class Multiset(object): def __init__(self): self.M=[] def add(self, val): # adds one occurrence of val from the multiset, if any self.M.append(val) def remove(self, val): # removes one occurrence of val from the multiset, if any if val in self.M: self.M.remove(val) def __contains__(self, val): # returns True when val is in the multiset, else returns False if val in self.M: return True return False def __len__(self): # returns the number of elements in the multiset return len(self.M)
بعض حلول المسائل الخاصة بأساسيات لغة Python على موقع hackerrank
1 – Python If-Else
!/bin/python import sys N = int(raw_input().strip()) if N % 2 != 0: print "Weird" else: if N >= 2 and N <= 5: print "Not Weird" elif N >= 6 and N <= 20: print "Weird" elif N > 20: print "Not Weird"
2 – Arithmetic Operators
a = int(raw_input()) b = int(raw_input()) print a + b print a - b print a * b
3 – Python: Division
a = int(raw_input()) b = int(raw_input()) print a / b print float(a) / b
4 – Loops
N = int(raw_input()) for i in range(N): print i * i
5 – Write a function
def is_leap(year): leap = False # Write your logic here if year % 400 == 0: leap = True elif year % 100 == 0: leap = False elif year % 4 == 0: leap = True return leap year = int(raw_input()) print is_leap(year)
6 – Print Function
if __name__ == '__main__': n = int(input()) full_str = "" for i in range(1, n+1): full_str += str(i) print(full_str)
7 – List Comprehensions
x = int(raw_input()) y = int(raw_input()) z = int(raw_input()) N = int(raw_input()) arr = [[X, Y, Z] for X in range(x+1) for Y in range(y+1) for Z in range(z+1) if X + Y + Z != N] print(arr)
8 – Find the Runner-Up Score!
i = int(input()) lis = list(map(int,raw_input().strip().split()))[:i] z = max(lis) while max(lis) == z: lis.remove(max(lis)) print max(lis)
9 – Nested Lists
N = int(raw_input()) students = list() for i in range(N): students.append([raw_input(), float(raw_input())]) scores = set([students[x][1] for x in range(N)]) scores = list(scores) scores.sort() students = [x[0] for x in students if x[1] == scores[1]] students.sort() for s in students: print s
10 – Finding the percentage
#!/usr/bin/env python n = int(raw_input()) total = dict() for i in range(0, n): tokens = raw_input().split() name = tokens[0] total[name] = float(tokens[1]) + float(tokens[2]) + float(tokens[3]) student = raw_input() print "{0:.2f}".format(total[student] / 3)
11 – Lists
lblogl = input() com = [] for _ in range(lblogl): s = raw_input().split() cmd = s[0] args = s[1:] if cmd !="print": cmd += "("+ ",".join(args) +")" eval("com."+cmd) else: print com
12 – Tuples
if __name__ == '__main__': lblgol = int(raw_input()) integer_list = map(int, raw_input().split()) com=tuple(integer_list) print hash(com)
13 – sWAP cASE
def swap_case(s): return s.swapcase() if __name__ == '__main__': s = input() result = swap_case(s) print(result)
14 – String Split and Join
def split_and_join(line): return "-".join(line.split(" ")) if __name__ == '__main__': line = input() result = split_and_join(line) print(result)
15 – What’s Your Name
def print_full_name(a, b): print "Hello {0} {1}! You just delved into python.".format(a, b) #another solution #print "Hello %s %s! You just delved into python."%(a,b) if __name__ == '__main__': first_name = raw_input() last_name = raw_input() print_full_name(first_name, last_name)
16 – Mutations
def mutate_string(string, position, character): return string[:position] + character + string[position + 1:] if __name__ == '__main__': s = input() i, c = input().split() s_new = mutate_string(s, int(i), c) print(s_new)
17 – Find a string
def count_substring(string, sub_string): s_len = len(string) sub_len = len(sub_string) counter = 0 if string.find(sub_string) == -1: return 0 start_inx = string.find(sub_string) for i in range(start_inx, s_len): if i > s_len - sub_len: break else: if string[i:].find(sub_string) == 0: counter +=1 return counter if __name__ == '__main__': string = input().strip() sub_string = input().strip() count = count_substring(string, sub_string) print(count)
18 – String Validators
#!/usr/bin/python lblogl = raw_input(); print any(char.isalnum() for char in lblogl) print any(char.isalpha() for char in lblogl) print any(char.isdigit() for char in lblogl) print any(char.islower() for char in lblogl) print any(char.isupper() for char in lblogl)
19 – Text Alignment
from __future__ import print_function, division char = 'H' space = ' ' def text_align(width): lines = [] for n in range(width): lines.append((char*(n*2+1)).center(width*2-1, space)) offset = space*(width*4 - (width*2-1)) for n in range(width+1): lines.append((char*width).center(width*2-1, space) + offset + (char*width).center(width*2-1, space)) for n in range((width+1)//2): lines.append((char*width*5).center(width*6, space)) for n in range(width+1): lines.append((char*width).center(width*2-1, space) + offset + (char*width).center(width*2-1, space)) for n in reversed(range(width)): lines.append(space*(width*4) + (char*(n*2+1)).center(width*2-1, space)) return lines def main(): T = int(input()) print('\n'.join(text_align(T))) main()
20 – Text Wrap
import textwrap def wrap(string, max_width): return "\n".join([string[i:i+max_width] for i in range(0, len(string), max_width)]) if __name__ == '__main__': string, max_width = raw_input(), int(raw_input()) result = wrap(string, max_width) print result
أيضاً قد يهمك :
* شرح موقع hackerrank – شرح التسجيل وحل المسائل والحصول على الشهادة *
* حل المسائل البرمجية للغة SQL بموقع hackerrank والحصول على الشهادة *
10 أشياء لا تحتاجها لتصبح مبرمج
كتابة برنامج يطالب المستخدم بادخال 3 اعداد صحيحة وعرضها بترتيب تصاعدي باستحدام البايثوت
*اكتب برنامجا يطال المستحدم بادخال عدد صحيح والتحقق مما اذا كان الرقم قابل القسمة ع 5 او 6 او قابلالقسمة ع 5او 6 او احدهم فقط ولكن ليس كليهم