├── .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 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
57 |
58 |
59 |
60 |
61 | 1684251110608
62 |
63 |
64 | 1684251110608
65 |
66 |
67 |
68 | 1684253011933
69 |
70 |
71 |
72 | 1684253011933
73 |
74 |
75 | 1684257881768
76 |
77 |
78 |
79 | 1684257881768
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
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)
--------------------------------------------------------------------------------