print('------------------Modules-------------------------')
# olin ckass niileeg packeg , olon pac niineed
# Build in moduls:
import random
import datetime
from collections import Counter, Defaultdict
print('random::', random.randint(0, 10))
#time
print('datetime::', datetime.time(22, 20, 15))
# date - today
print('datetime.todey::', datetime.date.today())
# Counter
print('Counter::', Counter([1, 2, 1, 3, 2, 4, 2, 3]))
# defaultdict::
# Error:::
myDict = {'a': 1, 'b': 2, 'c': 3}
# var = myDict['d']
# print(var)
myDict = Defaultdict(lambda: 'No key from Lambda', myDict)
var = myDict['d']
print(var)
def no_key():
return 'No key from Function'
def_dic = Defaultdict(no_key, {'a': 1, 'b': 2, 'c': 3})
print(def_dic['d'])
Tuesday, July 7, 2020
Tictac буюу х, о бөглөх тоглоом
# TicTacToe буюу х, о бөглөх тоглоомын кодыг орууллаа.
import random
import sys
board=[i for i in range(0,9)]
player, computer = '',''
# Corners, Center and Others, respectively
moves=((1,7,3,9),(5,),(2,4,6,8))
# Winner combinations
winners=((0,1,2),(3,4,5),(6,7,8),(0,3,6),(1,4,7),(2,5,8),(0,4,8),(2,4,6))
# Table
tab=range(1,10)
def print_board():
x=1
for i in board:
end = ' | '
if x%3 == 0:
end = ' \n'
if i != 1: end+='---------\n';
char=' '
if i in ('X','O'): char=i;
x+=1
print(char,end=end)
def select_char():
chars=('X','O')
if random.randint(0,1) == 0:
return chars[::-1]
return chars
def can_move(brd, player, move):
if move in tab and brd[move-1] == move-1:
return True
return False
def can_win(brd, player, move):
places=[]
x=0
for i in brd:
if i == player: places.append(x);
x+=1
win=True
for tup in winners:
win=True
for ix in tup:
if brd[ix] != player:
win=False
break
if win == True:
break
return win
def make_move(brd, player, move, undo=False):
if can_move(brd, player, move):
brd[move-1] = player
win=can_win(brd, player, move)
if undo:
brd[move-1] = move-1
return (True, win)
return (False, False)
# AI goes here
def computer_move():
move=-1
# If I can win, others don't matter.
for i in range(1,10):
if make_move(board, computer, i, True)[1]:
move=i
break
if move == -1:
# If player can win, block him.
for i in range(1,10):
if make_move(board, player, i, True)[1]:
move=i
break
if move == -1:
# Otherwise, try to take one of desired places.
for tup in moves:
for mv in tup:
if move == -1 and can_move(board, computer, mv):
move=mv
break
return make_move(board, computer, move)
def space_exist():
return board.count('X') + board.count('O') != 9
player, computer = select_char()
print('Player is [%s] and computer is [%s]' % (player, computer))
result='%%% Deuce ! %%%'
while space_exist():
print_board()
print('# Make your move ! [1-9] : ', end='')
move = int(input())
moved, won = make_move(board, player, move)
if not moved:
print(' >> Invalid number ! Try again !')
continue
#
if won:
result='*** Congratulations ! You won ! ***'
break
elif computer_move()[1]:
result='=== You lose ! =='
break;
print_board()
print(result)
Жишээ №11: Файлтай ажиллах жишээ программ
"""
Дараах программуудыг ажиллуулахын тулд уг программыг хадгалах хавтас дотроо
jishee.txt, jishee1.txt, jishee2.txt гэсэн 3-н файл үүсгээж байршуулаарай.
Уг файлуудад дараах бичвэрүүдийг жишээ болгон бичсэн байгаарай:
Hello World
Hi python
I am studying the Python
гэх мэтээр бичсэн байгаарай.
"""
print("-----------------File Type--------------------")
print('\r')
print('\t')
f01 = open('jishee.txt', 'r')
print('-----------read---------------------')
print(f01.read(5)) # jishee.txt файл дотроос эхний 5 ширхэг тэмдэгт авч хэвлэнэ.
print('\r')
print(f01.read()) # Тус файлаас үлдсэн бичвэрүүдийг цөмийг авч хэвлэнэ.print
print('\t')
f02 = open('jishee.txt', 'r')
print(f02.readline()) # jishee.txt файл дотроос эхний нэг мөрийг авч хэвлэнэ.
print(f02.readline()) # Тус файлаас дараагийн мөрийг авч хэвлэнэ.
print(f02.readline()) # Тус файлаас дээрийн дараагийн мөрийг авч хэвлэнэ.
print('\t') # нэг хоосон мөр авна.print
print('---------for loop-----------')
f03 = open('jishee.txt', 'r')
for var in f03:
if 'Python lesson' in var:
pass
elif 'not' in var:
pass
else:
print(var)
print('\r')
print('\r')
f04 =open('jishee.txt','r')
print(f04.readline())
f04.close
print('\r')
print('\r')
print('\r')
print('---------------write()-----------------')
# a append - өмнөх бичвэр дээр нэмж бичих
f05 = open('jishee1.txt', 'a')
f05.write(' New Line, Append')
f05.close
# w overwrite - өмнөх бичвэрүүдийг дарж бичих
f06 = open('jishee2.txt', 'w')
f06.write('New Line, Overwrite')
f06.close
Saturday, July 4, 2020
Жишээ №10: Жишээ бодлогууд
print("01. Хэрэглэгчээс орж ирсэн тэмдэгт мөрийг урвуугаар хөрвүүлэх код бичнэ үү!---")
str1 = input("txt oruul:")
print("hurvuulsen:", str1[::-1])
print("02. Өгөгдсөн тоонуудад сондгой болон тэгш тоо хэд байгааг тоолох код бичнэ үү!")
list1 = (1, 2, 3, 4, 5, 6, 7, 8, 9)
coun1 = 0
coun2 = 0
for item in list1:
if item % 2 == 0:
coun1 += 1
else:
coun2 += 1
print("Sondgoi too = ", coun2)
print("tegsh too = ", coun1)
print("03. 0-6 хүртэлх тоон цуваанаас 2 болон 5-аас бусад тоог хэвлэх код бичнэ үү!")
for item in range(0, 7):
if item == 2 or item ==5:
continue
print("2, 5-aas busad:", item)
print("04. Хэрэглэгчээс авсан текст дундаас тоон тэмдэгт хэдэн удаа орсон, үсэг хэдэн удаа орсонг олох код бичнэ үү!")
n_list=[0,"one", 3, 4, "five", "six", 7]
num1 = 0
string1 = 0
for i in n_list:
p = i
if type(p) == type(1):
num1 += 1
elif type(p) == type("one"):
string1 += 1
print("too:", num1)
print("temdegt:", string1)
#isdigit()
#isalpha()
print("04. Хэрэглэгчээс авсан текст дундаас тоон тэмдэгт хэдэн удаа орсон, үсэг хэдэн удаа орсонг олох код бичнэ үү!")
dig_alph = input("useg too holij bich: ")
n = 0
s = 0
for k in dig_alph:
if k.isalpha():
s += 1
elif k.isdigit():
n += 1
print(s)
print(n)
print("05. Loop ашиглан дараах хэлбэрээр * тэмдэгтийг хэвлэнэ үү!")
for i in range(0, 5):
for j in range(0, i + 1):
print("*", end=' ')
print("\r")
for i in range(5, 0, -1):
for j in range(0, i - 1):
print("*", end=' ')
print("\r")
# 05 while::
y=1
x= '* '
while y < 6:
print(x * y)
y += 1
while y > 0:
print(x * y)
y -= 1
Жишээ №9: Жишээ дасгал
txt5c = """
05.c. Урдаас аа болон араасаа адилхан утгатай байх тоо мөн эсэхийг
буцаах функц бичнэ үү!
(жич: 151, 15951, 35753 гэх мэт)"""
print(txt5c)
def palFunc(par5c):
List1 = []
j = 0
var2 = True
while par5c >= 1:
List1 += [par5c % 10]
par5c //= 10
j += 1
for i in range(len(List1)):
k = len(List1) - i - 1
if List1[i] != List1[k]:
var2 = False
if var2:
Var3 = "MUN"
else:
Var3 = "BISH"
return Var3
too= int(input("urdaasaa ardaasaa ijil too mun eseh too oruul:"))
palinder = palFunc(too)
print("Palindrom too mun esekh :", palinder)
Жишээ №8: Жишээ бодлогууд
"""
01. '1 - 20' хүртэлх тооны 2 зэргийг агуулсан List ийг
А. хэвлэх үйлдэл хийнэ үү,
Б. буцаах функц бичнэ үү,
02. Өгөгдсөн List -ээс 50 аас их хэдэн тоо байгааг А. хэвлэх үйлдэл хийнэ үү,
Б. буцаах функц бичнэ үү,
var_list = [10, '11', 55, '78', 120, '152', '2', 78, 49, '42']
03. Гараас өгсөн string ийн эхний болон сүүлийн 2 тэмдэгтийг залгуулж
А. хэвлэх үйлдэл хийнэ үү,
Б. буцаах функц бичнэ үү,
(Жич:: Хэрвээ 2 оос бага тэмдэгт оруулбал хоосон буцаана.)
04. Гараас өгсөн string ийн уртыг А. хэвлэх үйлдэл хийнэ үү,
Б. буцаах функц бичнэ үү,
(Жич:: len() method ашиглахгүй)
"""
txt1 = """
01. '1 - 20' хүртэлх тооны 2 зэргийг агуулсан List ийг
А. хэвлэх үйлдэл хийнэ үү,
Б. буцаах функц бичнэ үү,"""
print(txt1)
def SquareFunc():
SqList = []
for i in range(1, 21):
SqList +=[i ** 2]
return SqList
ListSq = SquareFunc()
print("Kvadratuudiin list:", ListSq)
txt2 = """
02. Өгөгдсөн List -ээс 50 аас их хэдэн тоо байгааг А. хэвлэх үйлдэл хийнэ үү,
Б. буцаах функц бичнэ үү,
var_list = [10, '11', 55, '78', 120, '152', '2', 78, 49, '42']
"""
print(txt2)
var_list = [10, '11', 55, '78', 120, '152', '2', 78, 49, '42']
def List_50ih(Par):
count = 0
for item in Par:
if type(item) == int:
if item > 50:
count += 1
return count
numbers = List_50ih(var_list)
print("50-ias ih too : ", numbers)
txt3 = """
03. Гараас өгсөн string ийн эхний болон сүүлийн 2 тэмдэгтийг залгуулж
А. хэвлэх үйлдэл хийнэ үү,
Б. буцаах функц бичнэ үү,
(Жич:: Хэрвээ 2 оос бага тэмдэгт оруулбал хоосон буцаана.)
"""
print(txt3)
def String2(par3):
new_str = ""
n = len(par3)
if n > 2:
new_str = par3[0] + par3[n-2:n]
return new_str
str_input = input("bichber oruul:")
Str_1 = String2(str_input)
print("03-r bodlogo:", Str_1)
txt4 = """
04. Гараас өгсөн string ийн уртыг А. хэвлэх үйлдэл хийнэ үү,
Б. буцаах функц бичнэ үү,
(Жич:: len() method ашиглахгүй)
"""
print(txt4)
def Str_Len(par4):
k = 0
for item in par4:
k += 1
return k
Str_4 = input("string oruul:")
Num = Str_Len(Str_4)
print("String-iin urt:", Num)
Жишээ №7: Жишээ бодлогууд
"""
01. Гараас өгсөн 3 тооноос хамгийн багыг буцаах функц бичнэ үү.
02. Өгөгдсөн Лист дэх тоонуудын үржвэрийг буцаах функц бичнэ үү.
03. Өгөгдсөн Лист дэх тоонуудын хамгйин их тоог буцаах функц бичнэ үү.
04. Гараас өгсөн тооны хуваагч тоонуудыг Листээр буцаах функц бичнэ үү.
/Жич: 6 тооны хуваагч тоонууд нь: [1, 2, 3, 6]
05. Урдаас аа болон араасаа адилхан утгатай байх тоо мөн эсэхийг буцаах
функц бичнэ үү!
(жич: 151, 15951, 35753 гэх мэт)
06. Өгөгдсөн тоо төгс тоо мөн эсэхийг шалгах функц бичнэ үү.
Төгс тоо гэж өөрөөс нь бусад бүх хуваагчдынх нь нийлбэр
өөртэй нь тэнцүү тоог хэлнэ.
/жич: 6 гэсэн тооны өөрөөс нь бусад бүх хуваагч нар нь 1, 2, 3 юм.
Тэдгээрийн нийлбэр нь 1 + 2 + 3 = 6/
"""
print("1. Гараас өгсөн 3 тооны хамгийн багыг буцаах функц бичнэ үү.")
def MinFunc(a, b, c):
a = int(a)
b = int(b)
c = int(c)
if a <= b and a <= c:
return a
elif b <= a and b <= c:
return b
elif c <= b and c <= a:
return c
a = input("а too =")
b = input("b too =")
c = input("c too =")
Min1 = MinFunc(a, b, c)
print("Khamgiin baga ni =", Min1)
print("02. Өгөгдсөн Лист дэх тоонуудын үржвэрийг буцаах функц бичнэ үү.")
def List_Pro(par2):
k = 1
for item in par2:
k *= item
return k
Num_List = [5, 2, 3, 5]
print("List deh too: ", Num_List)
pro_1 = List_Pro(Num_List)
print("List deh toonii urjver: ", pro_1)
print("03. Өгөгдсөн Лист дэх тоонуудын хамгйин их тоог буцаах функц бичнэ үү.")
def ListMax(par3):
temp = par3[0]
for item in par3:
if temp < item:
temp = item
return temp
Num_List = [5, 2, 3, 5]
print("List deh too: ", Num_List)
Max_3 = ListMax(Num_List)
print("List deh toonii urjver: ", Max_3)
txt = """
04. Гараас өгсөн тооны хуваагч тоонуудыг Листээр буцаах функц бичнэ үү.
/Жич: 6 тооны хуваагч тоонууд нь: [1, 2, 3, 6]
"""
print(txt)
def Dev_List(par4):
DevideList = []
for i in range(1, par4+1):
if par4 % i == 0:
DevideList.append(i)
return DevideList
num = int(input("too oruul = "))
outList = Dev_List(num)
print("Huvaagch toonuudiin List:", outList)
txt5 = """
05. Урдаас аа болон араасаа адилхан утгатай байх тоо мөн эсэхийг буцаах
функц бичнэ үү!
(жич: 151, 15951, 35753 гэх мэт)"""
print(txt5)
def palindrom(par5):
var1 = str(par5)
var2 = var1[::-1]
var3 = "Bish"
if var1 == var2:
var3 = "Mun"
return var3
too = int(input("urdaasaa ardaasaa ijil too mun eseh too oruul:"))
too_munuu = palindrom(too)
print("Mun eseh :" , too_munuu)
txt6 = """
06. Өгөгдсөн тоо төгс тоо мөн эсэхийг шалгах функц бичнэ үү.
Төгс тоо гэж өөрөөс нь бусад бүх хуваагчдынх нь нийлбэр
өөртэй нь тэнцүү тоог хэлнэ.
/жич: 6 гэсэн тооны өөрөөс нь бусад бүх хуваагч нар нь 1, 2, 3 юм.
Тэдгээрийн нийлбэр нь 1 + 2 + 3 = 6/
"""
print(txt6)
def perfectNumber(par6):
num = int(par6)
listNum = []
sum6 = 0
for i in range(1, num):
if num % i == 0:
listNum += [i]
for itm in listNum:
sum6 += itm
if num == sum6:
perfectNum = "Tugs too mun"
else:
perfectNum = "Tugs too bish"
return perfectNum
number6 = input("tugs too mun eseh =")
list_of_Func = perfectNumber(number6)
print("tugs too: ", list_of_Func)
txt5b = """
05.b. Урдаас аа болон араасаа адилхан утгатай байх тоо мөн эсэхийг
буцаах функц бичнэ үү!
(жич: 151, 15951, 35753 гэх мэт)"""
print(txt5b)
def palindrom1(par5b):
var1 = str(par5b)
var2 = True
for i in range(0, len(var1) // 2):
k = (-1) * i
if var1[1] != var1[k]:
Var2 = False
if Var2:
Var3 = "MUN"
else:
Var3 = "BISH"
return var3
too = int(input("urdaasaa ardaasaa ijil too mun eseh too oruul:"))
too_munuu = palindrom(too)
print("Mun eseh :" , too_munuu)
txt5c = """
05.c. Урдаас аа болон араасаа адилхан утгатай байх тоо мөн эсэхийг
буцаах функц бичнэ үү!
(жич: 151, 15951, 35753 гэх мэт)"""
print(txt5c)
def palFunc(par5c):
List1 = []
j = 0
var2 = True
while par5c >= 1:
List1 += [par5c % 10]
par5c //= 10
j += 1
for i in range(len(List1)):
k = len(List1) - i - 1
if List1[i] != List1[k]:
var2 = False
if var2:
Var3 = "MUN"
else:
Var3 = "BISH"
return Var3
too= int(input("urdaasaa ardaasaa ijil too mun eseh too oruul:"))
palinder = palFunc(too)
print("Palindrom too mun esekh :", palinder)
Жишээ №6: Жишээ бодлогууд
"""
1. Гараас өгсөн 3 тооны хамгийн ихийг буцаах функц бичнэ үү.
2. Өгөгдсөн List дэх тоонуудын нийлбэрийг буцаах функц бичнэ үү.
3. Өгөгдсөн тооны factorial - ыг олох функц бичнэ үү.
4. Өгөгдсөн текстэд том үсэг болон жижиг үсэг тус тус хэд байгааг
олоод dictionary байдлаар үр дүнг буцаах функц бичнэ үү.
5. Өгөгдсөн List-ээс давхардсан элементүүдийг арилгасан элемент
тус бүр нэг удаа орсон шинэ list буцаах функц бичнэ үү.
6. Өгөгдсөн тоо анхны тоо мөн эсэхийг шалгах функц бичнэ үү.
7. Өгөгдсөн тоо төгс тоо мөн эсэхийг шалгах функц бичнэ үү.
Төгс тоо гэж өөрөөс нь бусад бүх хуваагчдынх нь нийлбэр өөртэй нь
тэнцүү тоог хэлнэ.
(жич: 6 гэсэн тооны өөрөөс нь бусад бүх хуваагч нар нь 1, 2, 3 юм.
Тэдгээрийн нийлбэр нь 1 + 2 + 3 = 6)
"""
print("1. Гараас өгсөн 3 тооны хамгийн ихийг буцаах функц бичнэ үү.")
def MaxFunc(a, b, c):
a = int(a)
b = int(b)
c = int(c)
if a >= b and a >= c:
return a
elif b >= a and b >= c:
return b
elif c >= b and c >= a:
return c
a = input("а too =")
b = input("b too =")
c = input("c too =")
Max1 = MaxFunc(a, b, c)
print("uh ni =", Max1)
print("2. Өгөгдсөн List дэх тоонуудын нийлбэрийг буцаах функц бичнэ үү.")
myList = [8, 5, 6, 9, 8]
def SumFunc(parL):
sumaa = 0
for item in parL:
sumaa += item
return sumaa
var1 = SumFunc(myList)
print("niilber = ", var1)
print("3. Өгөгдсөн тооны factorial - ыг олох функц бичнэ үү.")
def myfactorial(num):
Factor = 1
for i in range(1, num+1):
Factor *= i
return Factor
numb = int(input("too oruul ="))
FactNum = myfactorial(numb)
print("factorial=", FactNum)
a="""
4. Өгөгдсөн текстэд том үсэг болон жижиг үсэг тус тус хэд байгааг
олоод dictionary байдлаар үр дүнг буцаах функц бичнэ үү.
"""
print(a)
def uplower(text1):
sumUp = 0
sumLow = 0
for s in text1:
if s == s.upper():
sumUp += 1
elif s == s.lower():
sumLow += 1
uplow_dic = {'Upcase':sumUp, 'Lowercase':sumLow}
return uplow_dic
txt = input("tom jijig useg bich:")
print(uplower(txt))
print("5.a. Өгөгдсөн List-ээс давхардсан элементүүдийг арилгасан элемент")
def clear_list(par3):
n_set = set(par3)
sec_List = list(n_set)
return sec_List
new_List = [1, "asd", "ert", 2, 4, "asd", 2, "seven", "seven"]
s_List = clear_list(new_List)
print("ehnii List:", new_List)
print("daraagiin List:", s_List)
txt = """
5.b. Өгөгдсөн List-ээс давхардсан элементүүдийг арилгасан элемент
тус бүр нэг удаа орсон шинэ list буцаах функц бичнэ үү.
"""
print(txt)
def duplicat_clear(par4):
clear_list =[]
for i in range(0, len(par4)):
for j in range(0, i+1):
if i != j and par4[i] == par4[j]:
clear_list.append(par4[i])
for k in clear_list:
par4.remove(k)
return par4
list_dup = [1, "asd", "ert", 2, 4, "asd", 2, "seven", "seven"]
print("ehnii List:", list_dup)
nonDu_list = duplicat_clear(list_dup)
print("ustgasan list:", nonDu_list)
print("6. Өгөгдсөн тоо анхны тоо мөн эсэхийг шалгах функц бичнэ үү.")
def firstNum(par5):
num = int(par5)
cre = True
for i in range(2, num):
if num % i == 0:
print("ankhnii too:", i)
cre = False
if cre :
firstN = "ankhnii too mun"
else:
firstN = "ankhnii too bish"
return firstN
number1 = input("anhnii too mun eseh =")
out1 = firstNum(number1)
print(out1)
p = """
7. Өгөгдсөн тоо төгс тоо мөн эсэхийг шалгах функц бичнэ үү.
Төгс тоо гэж өөрөөс нь бусад бүх хуваагчдынх нь нийлбэр өөртэй нь
тэнцүү тоог хэлнэ.
(жич: 6 гэсэн тооны өөрөөс нь бусад бүх хуваагч нар нь 1, 2, 3 юм.
Тэдгээрийн нийлбэр нь 1 + 2 + 3 = 6)
"""
print(p)
def perfectNumber(par7):
num = int(par7)
listNum = []
sum7 = 0
for i in range(1, num):
if num % i == 0:
listNum += [i]
for itm in listNum:
sum7 += itm
if num == sum7:
perfectNum = "Tugs too mun"
else:
perfectNum = "Tugs too bish"
return perfectNum
number7 = input("tugs too mun eseh =")
list_of_Func = perfectNumber(number7)
print("tugs too: ", list_of_Func)
Жишээ №5: Жишээ бодлогууд
print("01. Хэрэглэгчээс орж ирсэн тэмдэгт мөрийг урвуугаар хөрвүүлэх код бичнэ үү!---")
str1 = input("txt oruul:")
print("hurvuulsen:", str1[::-1])
print("02. Өгөгдсөн тоонуудад сондгой болон тэгш тоо хэд байгааг тоолох код бичнэ үү!")
list1 = (1, 2, 3, 4, 5, 6, 7, 8, 9)
coun1 = 0
coun2 = 0
for item in list1:
if item % 2 == 0:
coun1 += 1
else:
coun2 += 1
print("Sondgoi too = ", coun2)
print("tegsh too = ", coun1)
print("03. 0-6 хүртэлх тоон цуваанаас 2 болон 5-аас бусад тоог хэвлэх код бичнэ үү!")
for item in range(0, 7):
if item == 2 or item ==5:
continue
print("2, 5-aas busad:", item)
print("04. Хэрэглэгчээс авсан текст дундаас тоон тэмдэгт хэдэн удаа орсон, үсэг хэдэн удаа орсонг олох код бичнэ үү!")
n_list=[0,"one", 3, 4, "five", "six", 7]
num1 = 0
string1 = 0
for i in n_list:
p = i
if type(p) == type(1):
num1 += 1
elif type(p) == type("one"):
string1 += 1
print("too:", num1)
print("temdegt:", string1)
#isdigit()
#isalpha()
print("04. Хэрэглэгчээс авсан текст дундаас тоон тэмдэгт хэдэн удаа орсон, үсэг хэдэн удаа орсонг олох код бичнэ үү!")
dig_alph = input("useg too holij bich: ")
n = 0
s = 0
for k in dig_alph:
if k.isalpha():
s += 1
elif k.isdigit():
n += 1
print(s)
print(n)
print("05. Loop ашиглан дараах хэлбэрээр * тэмдэгтийг хэвлэнэ үү!")
for i in range(0, 5):
for j in range(0, i + 1):
print("*", end=' ')
print("\r")
for i in range(5, 0, -1):
for j in range(0, i - 1):
print("*", end=' ')
print("\r")
# 05 while::
y=1
x= '* '
while y < 6:
print(x * y)
y += 1
while y > 0:
print(x * y)
y -= 1
Subscribe to:
Posts (Atom)