├── .idea ├── Python-course-exercises-Jadi-1.iml ├── misc.xml ├── vcs.xml └── workspace.xml ├── README.md ├── فصل اول ├── تعیین جوان بودن کاربر بر اساس سن ورودی.py ├── محاسبه دو برابر عکس یک عدد.py ├── محاسبه مساحت مستطیل.py ├── محاسبه مضرب بعدی ده.py ├── چاپ عبارت Hello World.py └── چاپ عدد بزرگتر.py ├── فصل دوم ├── تعیین اول بودن عدد.py ├── جمع امتیازات سپیدرود رشت.py ├── عدد با بیشترین تعداد مقسوم علیه.py ├── پروژه بازی حدس عدد.py └── یافتن بزرگترین ثبت نام کننده برای مجلس شورای اسلامی.py ├── فصل سوم ├── آیا Palindrome است؟.py ├── استانداردسازی اسامی.py ├── جمع اعداد.py ├── حروف کوچیک حروف بزرگ.py ├── زیررشته.py ├── سارا سلام می کند.py ├── سیستم شمارش آراء.py ├── قیمت لپ تاپ ها.py ├── مترجم آنلاین.py ├── مسابقات جهانی کبدی.py ├── ملاقات نوروزی.py └── کار با رشته ها.py ├── فصل ششم └── هک از طریق Rainbow.py ├── فصل پنجم └── پروژه محاسبه معدل و مرتب کردن معدل ها از csv.py └── فصل چهارم └── ریشه ی دوم.py /.idea/Python-course-exercises-Jadi-1.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.idea/workspace.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 24 | 25 | 30 | 31 | 32 | 34 | 35 | 36 | 37 | 38 | 39 | 42 | 57 | 58 | 59 | 60 | 61 | 1684251110608 62 | 67 | 68 | 1684253011933 69 | 74 | 75 | 1684257881768 76 | 81 | 84 | 85 | 87 | 88 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # تمرین های دوره مقدماتی پایتون - جادی 2 | 3 | تمامی تمرینات دوره پایتون مقدماتی جادی با نمره صد در اختیار عموم قرار گرفته است استار یادتون نره! 4 | ### مشارکت کنندگان 5 | ##### [فرنام جوادی](https://www.farnamjavadi.com) 6 | ##### [متین اردستانی](https://github.com/Matin-Ardestani) 7 | -------------------------------------------------------------------------------- /فصل اول/تعیین جوان بودن کاربر بر اساس سن ورودی.py: -------------------------------------------------------------------------------- 1 | age = int(input()) 2 | if (0 <= age) and (age < 6): 3 | print("khordsal") 4 | elif (6 <= age) and (age < 10): 5 | print("koodak") 6 | elif (10 <= age) and (age < 14): 7 | print("nojavan") 8 | elif (14 <= age) and (age < 24): 9 | print("javan") 10 | elif (24 <= age) and (age < 40): 11 | print("bozorgsal") 12 | elif 40 <= age: 13 | print("miansal") 14 | -------------------------------------------------------------------------------- /فصل اول/محاسبه دو برابر عکس یک عدد.py: -------------------------------------------------------------------------------- 1 | number = int(input()) 2 | reverse_num = 0 3 | 4 | while number > 0: 5 | temp = number % 10 6 | reverse_num = reverse_num * 10 + temp 7 | number = number // 10 8 | x = reverse_num * 2 9 | print(x) 10 | -------------------------------------------------------------------------------- /فصل اول/محاسبه مساحت مستطیل.py: -------------------------------------------------------------------------------- 1 | x = int(input()) 2 | y = int(input()) 3 | print(x * y) 4 | -------------------------------------------------------------------------------- /فصل اول/محاسبه مضرب بعدی ده.py: -------------------------------------------------------------------------------- 1 | a = int(input()) 2 | b = int(a / 10) 3 | b += 1 4 | print(b * 10) -------------------------------------------------------------------------------- /فصل اول/چاپ عبارت Hello World.py: -------------------------------------------------------------------------------- 1 | print("Hello World!") -------------------------------------------------------------------------------- /فصل اول/چاپ عدد بزرگتر.py: -------------------------------------------------------------------------------- 1 | first_num = int(input()) 2 | secend_num = int(input()) 3 | 4 | if first_num > secend_num: 5 | print(first_num) 6 | 7 | elif first_num < secend_num: 8 | print(secend_num) 9 | 10 | elif first_num == secend_num: 11 | print(first_num) 12 | -------------------------------------------------------------------------------- /فصل دوم/تعیین اول بودن عدد.py: -------------------------------------------------------------------------------- 1 | x = int(input()) 2 | c = 0 3 | 4 | for i in range(1, x): 5 | if x % i == 0: 6 | c += 1 7 | 8 | if c == 1: 9 | print("prime") 10 | else: 11 | print("not prime") 12 | -------------------------------------------------------------------------------- /فصل دوم/جمع امتیازات سپیدرود رشت.py: -------------------------------------------------------------------------------- 1 | sum1 = 0 2 | win_counter = 0 3 | 4 | for i in range(0, 30): 5 | vorodi = int(input()) 6 | sum1 += vorodi 7 | if vorodi == 3: 8 | win_counter += 1 9 | 10 | print(sum1, '', win_counter) 11 | -------------------------------------------------------------------------------- /فصل دوم/عدد با بیشترین تعداد مقسوم علیه.py: -------------------------------------------------------------------------------- 1 | def maghsomi(a): 2 | tedad = 0 3 | for i in range (1 ,a+1): 4 | if (a % i) == 0: 5 | tedad += 1 6 | return(tedad) 7 | 8 | 9 | b_adad = 0 10 | b_tedad = 0 11 | for i in range(0,20): 12 | adad = int(input()) 13 | tedad = maghsomi(adad) 14 | if tedad > b_tedad: 15 | b_tedad = tedad 16 | b_adad = adad 17 | 18 | print(b_adad, ' ', b_tedad) 19 | -------------------------------------------------------------------------------- /فصل دوم/پروژه بازی حدس عدد.py: -------------------------------------------------------------------------------- 1 | import random 2 | 3 | x = 1 4 | y = 99 5 | 6 | hads = random.randint(x,y) 7 | print(hads) 8 | javab = input() 9 | 10 | while javab != 'd': 11 | if javab == 'k': 12 | y = hads 13 | hads = random.randint(x,y) 14 | print(hads) 15 | javab = input() 16 | elif javab == 'b': 17 | x = hads 18 | hads = random.randint(x,y) 19 | print(hads) 20 | javab = input() 21 | -------------------------------------------------------------------------------- /فصل دوم/یافتن بزرگترین ثبت نام کننده برای مجلس شورای اسلامی.py: -------------------------------------------------------------------------------- 1 | bozorg = 0 2 | 3 | while True: 4 | sen = int(input()) 5 | if sen == -1: 6 | break 7 | if sen > bozorg: 8 | bozorg = sen 9 | 10 | print(bozorg) 11 | -------------------------------------------------------------------------------- /فصل سوم/آیا Palindrome است؟.py: -------------------------------------------------------------------------------- 1 | def palindrome(hey): 2 | lenny = len(hey) 3 | vaziat = True 4 | temp = hey[::-1] 5 | for i in range(0, lenny): 6 | if hey[i] != temp[i]: 7 | vaziat = False 8 | return vaziat 9 | 10 | 11 | a = input() 12 | a = a.lower() 13 | 14 | if palindrome(a): 15 | print('palindrome') 16 | else: 17 | print('not palindrome') 18 | -------------------------------------------------------------------------------- /فصل سوم/استانداردسازی اسامی.py: -------------------------------------------------------------------------------- 1 | def estandard(a): 2 | a = a.lower() 3 | first = a[0] 4 | edame = a[1::] 5 | first = first.upper() 6 | return first + edame 7 | 8 | 9 | listis = [] 10 | 11 | for i in range(0, 10): 12 | temp = estandard(input()) 13 | listis.append(temp) 14 | 15 | for j in range(0, 10): 16 | print(listis[j]) 17 | -------------------------------------------------------------------------------- /فصل سوم/جمع اعداد.py: -------------------------------------------------------------------------------- 1 | s = [i.lower() for i in input()] 2 | 3 | for i in s: 4 | if i == '+': 5 | 6 | s.remove('+') 7 | s.sort() 8 | s = '+'.join(s) 9 | 10 | print(s) 11 | -------------------------------------------------------------------------------- /فصل سوم/حروف کوچیک حروف بزرگ.py: -------------------------------------------------------------------------------- 1 | def lo_counter(): 2 | I_counter = 0 3 | lo = a.lower() 4 | for i in range(0, int(len(a))): 5 | if a[i] == lo[i]: 6 | I_counter += 1 7 | return I_counter 8 | 9 | 10 | def up_counter(): 11 | u_counter = 0 12 | up = a.upper() 13 | for j in range(0, int(len(a))): 14 | if a[j] == up[j]: 15 | u_counter += 1 16 | return u_counter 17 | 18 | 19 | a = input() 20 | 21 | vaziat = True 22 | 23 | if lo_counter() == up_counter(): 24 | vaziat = True 25 | if lo_counter() > up_counter(): 26 | vaziat = True 27 | if lo_counter() < up_counter(): 28 | vaziat = False 29 | if vaziat: 30 | a = a.lower() 31 | else: 32 | a = a.upper() 33 | 34 | print(a) 35 | -------------------------------------------------------------------------------- /فصل سوم/زیررشته.py: -------------------------------------------------------------------------------- 1 | a = input() 2 | 3 | a = a.replace('AB', '!') 4 | a = a.replace('BA', '@') 5 | 6 | vaziat = '' 7 | 8 | if ('!' in a) and ('@' in a): 9 | vaziat = 'YES' 10 | else: 11 | vaziat = 'NO' 12 | print(vaziat) 13 | -------------------------------------------------------------------------------- /فصل سوم/سارا سلام می کند.py: -------------------------------------------------------------------------------- 1 | a = input() 2 | 3 | a = a.lower() 4 | vaziat = 'NO' 5 | if ('h' in a) and ('e' in a) and ('ll' in a) and ('o' in a): 6 | vaziat = 'YES' 7 | else: 8 | vaziat = 'NO' 9 | 10 | h = a.find('h') 11 | e = a.find('e') 12 | ll = a.find('ll') 13 | o = a.find('o') 14 | if vaziat == 'YES' and o > ll > e > h: 15 | vaziat = 'YES' 16 | 17 | else: 18 | vaziat = 'NO' 19 | 20 | print(vaziat) 21 | -------------------------------------------------------------------------------- /فصل سوم/سیستم شمارش آراء.py: -------------------------------------------------------------------------------- 1 | from collections import OrderedDict 2 | 3 | ara = OrderedDict() 4 | 5 | n = int(input()) 6 | 7 | for i in range(1, n + 1): 8 | name = input() 9 | ara[name] = ara.get(name , 0) + 1 10 | 11 | keylist = list(ara.keys()) 12 | keylist.sort() 13 | 14 | for this_one in keylist: 15 | value = ara[this_one] 16 | print(this_one , value) -------------------------------------------------------------------------------- /فصل سوم/قیمت لپ تاپ ها.py: -------------------------------------------------------------------------------- 1 | n = int(input()) 2 | 3 | prices = [] 4 | values = [] 5 | 6 | for i in range(1, n + 1): 7 | enter = input() 8 | enter = enter.split() 9 | prices.append(int(enter[0])) 10 | values.append(int(enter[1])) 11 | 12 | 13 | 14 | result = False 15 | tedad = 0 16 | counter = -1 17 | for i in prices: 18 | counter += 1 19 | rest = prices[:counter] + prices[(counter + 1):] 20 | valuerest = values[:counter] + values[(counter + 1):] 21 | restcounter = -1 22 | for j in rest: 23 | restcounter += 1 24 | if prices[counter] <= rest[restcounter]: 25 | tedad += 1 26 | small = prices[counter] 27 | big = rest[restcounter] 28 | if values[counter] >= valuerest[restcounter]: 29 | result = True 30 | 31 | 32 | if result == True: 33 | print("happy irsa") 34 | else: 35 | print("poor irsa") -------------------------------------------------------------------------------- /فصل سوم/مترجم آنلاین.py: -------------------------------------------------------------------------------- 1 | from collections import OrderedDict 2 | 3 | n = int(input()) 4 | dictionary = OrderedDict() 5 | 6 | 7 | for i in range(1, n + 1): 8 | word = input() 9 | word = word.split() 10 | real = word[0] 11 | translate = word[1] 12 | dictionary[real] = translate 13 | 14 | 15 | keylist = list(dictionary.keys()) 16 | valuelist = list(dictionary.values()) 17 | 18 | sent = input() 19 | sent = sent.split() 20 | 21 | result = '' 22 | 23 | for part in sent: 24 | if part in dictionary: 25 | result += dictionary[part] + ' ' 26 | else: 27 | result += part + ' ' 28 | 29 | result = result[:-1] 30 | print(result) -------------------------------------------------------------------------------- /فصل سوم/مسابقات جهانی کبدی.py: -------------------------------------------------------------------------------- 1 | a = int(input()) 2 | b = [int(i) for i in input().split(' ')] 3 | 4 | temp = [] 5 | for i in range(0, len(b)): 6 | temp.append(int(b[i])) 7 | 8 | coun = 0 9 | for j in range(0, len(temp)): 10 | if temp[j] == 0 or temp[j] == 1 or temp[j] == 2: 11 | coun += 1 12 | 13 | print(int(coun / 3)) 14 | -------------------------------------------------------------------------------- /فصل سوم/ملاقات نوروزی.py: -------------------------------------------------------------------------------- 1 | s = input() 2 | x1, x2, x3 = s.split(' ') 3 | x1 = int(x1) 4 | x2 = int(x2) 5 | x3 = int(x3) 6 | 7 | print(max(x1, x2, x3) - min(x1, x2, x3)) 8 | -------------------------------------------------------------------------------- /فصل سوم/کار با رشته ها.py: -------------------------------------------------------------------------------- 1 | reshte = input() 2 | reshte = reshte.lower() 3 | reshte = reshte.replace('a','') 4 | reshte = reshte.replace('e','') 5 | reshte = reshte.replace('i','') 6 | reshte = reshte.replace('o','') 7 | reshte = reshte.replace('u','') 8 | nahaii = '' 9 | for i in range(0,len(reshte)): 10 | nahaii += '.'+reshte[i] 11 | print(nahaii) 12 | -------------------------------------------------------------------------------- /فصل ششم/هک از طریق Rainbow.py: -------------------------------------------------------------------------------- 1 | import hashlib 2 | import csv 3 | 4 | def hash_password_hack(input_file_name, output_file_name): 5 | f = open(input_file_name) 6 | w = open(output_file_name , 'w') 7 | 8 | lines = f.readlines() 9 | 10 | for line in lines: 11 | line = line.split(',') 12 | name = line[0] 13 | hx = line[1] 14 | if hx[-1] == '\n': 15 | hx = hx[:-1] 16 | hx = hx.lower() 17 | 18 | 19 | for password in range(1000 , 9999 + 1): 20 | hash_i = hashlib.sha256(str(password).encode()).hexdigest() 21 | if hash_i == hx: 22 | w.write(name) 23 | w.write(',') 24 | w.write(str(password)) 25 | w.write('\n') 26 | 27 | w.close() 28 | f.close() -------------------------------------------------------------------------------- /فصل پنجم/پروژه محاسبه معدل و مرتب کردن معدل ها از csv.py: -------------------------------------------------------------------------------- 1 | import csv 2 | from statistics import mean 3 | from collections import OrderedDict 4 | 5 | def calculate_averages(input_file_name, output_file_name): 6 | f = open(input_file_name) 7 | w = open(output_file_name , 'w') 8 | lines = f.readlines() 9 | dic = OrderedDict() 10 | for line in lines: 11 | line = line.split(',') 12 | name = line[0] 13 | marks = line[1:] 14 | 15 | counter = -1 16 | for number in marks: 17 | counter += 1 18 | marks[counter] = float(number) 19 | 20 | avrage = mean(marks) 21 | avrage = str(avrage) 22 | 23 | dic[name] = avrage 24 | w.write(name) 25 | w.write(',') 26 | w.write(avrage) 27 | w.write('\n') 28 | w.close() 29 | f.close() 30 | 31 | def calculate_sorted_averages(input_file_name, output_file_name): 32 | f = open(input_file_name) 33 | w = open(output_file_name , 'w') 34 | lines = f.readlines() 35 | dic = OrderedDict() 36 | 37 | for line in lines: 38 | line = line.split(',') 39 | name = line[0] 40 | marks = line[1:] 41 | 42 | counter = -1 43 | for number in marks: 44 | counter += 1 45 | marks[counter] = float(number) 46 | 47 | avrage = mean(marks) 48 | dic[name] = avrage 49 | 50 | sorted_dic = sorted(dic.items(), key = lambda x: (x[1] , x[0])) 51 | 52 | tcount = -1 53 | for this_one in sorted_dic: 54 | tcount += 1 55 | n = this_one[0] 56 | m = str(this_one[1]) 57 | w.write(n) 58 | w.write(',') 59 | w.write(m) 60 | w.write('\n') 61 | 62 | w.close() 63 | f.close() 64 | 65 | def calculate_three_best(input_file_name, output_file_name): 66 | f = open(input_file_name) 67 | w = open(output_file_name , 'w') 68 | lines = f.readlines() 69 | dic = OrderedDict() 70 | 71 | for line in lines: 72 | line = line.split(',') 73 | name = line[0] 74 | marks = line[1:] 75 | 76 | counter = -1 77 | for number in marks: 78 | counter += 1 79 | marks[counter] = float(number) 80 | 81 | avrage = mean(marks) 82 | dic[name] = avrage 83 | 84 | sorted_dic = sorted(dic.items() , key = lambda x: (-x[1] , x[0])) 85 | 86 | first = sorted_dic[0] 87 | second = sorted_dic[1] 88 | third = sorted_dic[2] 89 | 90 | w.write(first[0]) 91 | w.write(',') 92 | w.write(str(first[1])) 93 | w.write('\n') 94 | w.write(second[0]) 95 | w.write(',') 96 | w.write(str(second[1])) 97 | w.write('\n') 98 | w.write(third[0]) 99 | w.write(',') 100 | w.write(str(third[1])) 101 | 102 | w.close() 103 | f.close() 104 | 105 | 106 | def calculate_three_worst(input_file_name, output_file_name): 107 | f = open(input_file_name) 108 | w = open(output_file_name , 'w') 109 | lines = f.readlines() 110 | avrages = [] 111 | 112 | for line in lines: 113 | line = line.split(',') 114 | name = line[0] 115 | marks = line[1:] 116 | 117 | counter = -1 118 | for number in marks: 119 | counter += 1 120 | marks[counter] = float(number) 121 | 122 | avrage = mean(marks) 123 | avrages.append(avrage) 124 | 125 | avrages.sort() 126 | first = str(avrages[0]) 127 | second = str(avrages[1]) 128 | third = str(avrages[2]) 129 | 130 | w.write(first) 131 | w.write('\n') 132 | w.write(second) 133 | w.write('\n') 134 | w.write(third) 135 | 136 | w.close() 137 | f.close() 138 | 139 | def calculate_average_of_averages(input_file_name, output_file_name): 140 | f = open(input_file_name) 141 | w = open(output_file_name , 'w') 142 | lines = f.readlines() 143 | avrages = [] 144 | 145 | for line in lines: 146 | line = line.split(',') 147 | name = line[0] 148 | marks = line[1:] 149 | 150 | counter = -1 151 | for number in marks: 152 | counter += 1 153 | marks[counter] = float(number) 154 | 155 | avrage = mean(marks) 156 | avrages.append(avrage) 157 | 158 | result = mean(avrages) 159 | result = str(result) 160 | 161 | w.write(result) 162 | w.close() 163 | f.close() -------------------------------------------------------------------------------- /فصل چهارم/ریشه ی دوم.py: -------------------------------------------------------------------------------- 1 | import math 2 | 3 | n = int(input()) 4 | 5 | result = [] 6 | 7 | for i in range(1, n + 1): 8 | number = int(input()) 9 | radical = math.sqrt(number) 10 | result.append(radical) 11 | 12 | 13 | for j in result: 14 | eight = (f'{j:.8f}') 15 | four = eight[:-4] 16 | print(four) --------------------------------------------------------------------------------