Skip to content

Hello word #4

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 16 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added .vs/Tprogramming_198_2020/v15/.suo
Binary file not shown.
6 changes: 6 additions & 0 deletions .vs/VSWorkspaceState.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"ExpandedNodes": [
""
],
"PreviewInSolutionExplorer": false
}
15 changes: 15 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
// Используйте IntelliSense, чтобы узнать о возможных атрибутах.
// Наведите указатель мыши, чтобы просмотреть описания существующих атрибутов.
// Для получения дополнительной информации посетите: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Python: Текущий файл",
"type": "python",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal"
}
]
}
3 changes: 3 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"python.pythonPath": "D:\\python.exe"
}
54 changes: 54 additions & 0 deletions TV.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
class TV:
def __init__(self, name):
self. name = name
self.__chanel = 0
print("Создание объекта")

@property
def chanel(self):
return self.__chanel

@chanel.setter
def chanel(self, chanel):
if isinstance(chanel,(int, float)) and chanel >= 0 and chanel <= 100:
self.__chanel = chanel
else:
print("Не правильно указано количество каналов")

def increase_chanel(self):
self.__chanel = self.__chanel + 1

def swim(self):
print(f"я {self.name}, я показываю")

def __str__(self):
return f"name: {self.name}, chanel: {self.__chanel}" + """
______________
|.------------.|
|| 88::%%## ||
|| 88::%%## ||
|| 88::%%## ||
__ || 88::%%## ||
|==| ||____________||
|88| |[##] oo O [##]|
|88| |==sharp=======|
|__| |______________|
"""

if __name__ == "__main__":
TV1 = TV("samsung")
TV1.chanel = 99
TV1.increase_chanel()
print(TV1.name, TV1.chanel)
TV1.swim()

TV2 = TV("ld")
TV2.chanel = 10
TV2.increase_chanel()
print(TV2.name, TV2.chanel)
TV2.swim()


TV2.chanel = "Test"

print(TV2)
52 changes: 52 additions & 0 deletions app.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
from flask import Flask
app = Flask(__name__)
import datetime
from flask import render_template
import tv as Tv

collection = []
def init():
tv1 = TV.TV("samsung")
collection.append(tv1)
tv2 = TV.TV("LD")
collection.append(tv2)
tv3 = TV.TV("Philips")
collection.append(tv3)

init()

@app.route('/')
def hello_world():
return f'Hello 1, World! {datetime.datetime.now()}'

@app.route('/')
def test():
user = {'username': 'Lidia'}
return render_template('index.html', title='Home', user=user)

from flask import request

@app.route('/params')
def params():
print(request.args)
a = request.args.get("a", default=0, type=float)
b = request.args.get("b", default=0, type=float)
return f'Hello {a} + {b} = {a + b}'

@app.route('/calc/<type_calc>', methods=['GET', 'POST'])
def calc(type_calc):
a = request.form.get("a", default=0, type=float)
b = request.form.get("b", default=0, type=float)
res = 0
sign = ""
if type_calc == "summ":
res = a + b
sign = "+"
if type_calc == "mul":
res = a*b
sign = "x"
return render_template('calc.html', result=res, sign=sign)

@app.route("/TV/new", methods=["GET", "POST"])
def tv_add():
name = request.form.get("name", default = "")
14 changes: 14 additions & 0 deletions calc.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<html>
<head>
<title>Calculator</title>
</head>
<body>
<h1>Calculator</h1>
<form action="" method="POST">
<input type="number" name="a"/>
<input type="number" name="b"/>
<button type="submit">Calc</button>
</form>
<p>Result = {{result}}</p>
</body>
</html>
31 changes: 31 additions & 0 deletions calc_test.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
import unittest
import start

class CalcTests(unittest.TestCase):
a = 0.4
b = 0.8

def test_positive(self):
res = start.calc(1, 1, 0)
self.assertAlmostEqual(0,res,3)

def test_normal_b(self):
x_lst = [4.48, 3.56, 2.78, 5.28, 3.21]
res = start.task_b(self.a,self.b,x_lst)
self.assertEqual(5, len(res))

def test_zero_lengt(self):
x_lst = []
res = start.task_b(self.a,self.b,x_lst)
self.assertEqual(0, len(res))

def test_normal_a(self):
res = start.task_a(self.a, self.b, 0.77, 1.77, 0.2)
self.assertEqual(6, len(res))

def test_zero_a(self):
res = start.task_a(self.a, self.b, 4.77, 1.77, 0.2)
self.assertEqual(0, len(res))

if __name__ == '__main__':
unittest.main()
6 changes: 6 additions & 0 deletions exam.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
print("Рецепт бутерброда:")
ingredients = ['слизни', 'пиявки', 'катышки из пупка гориллы', 'брови гусеницы', 'пальцы многоножки']
length = len(ingredients)
for i in range(length):
print(str(i+1), ") ", ingredients[i], sep="", end=";\n")

9 changes: 9 additions & 0 deletions index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<html>
<head>
<title>Calculator</title>
</head>
<body>
<h1>Hello, {{ user.username }}!</h1>
<h2>Hello again</h2>
</body>
</html>
1 change: 1 addition & 0 deletions pip
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
$ pip install flask
45 changes: 45 additions & 0 deletions start.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
print("Hello word!")
import math
a = 0.4
b = 0.8
x = 3.2

def calc(a, b, x):
y = ((a**b-b**x)/(math.log1p(a/b)))*((a*b))**(1/3)
return y

def task_a(a, b, xn, xk, dx):
x = xn
res = []
while x <= xk:
y = calc(a, b, x)
res.append((x,y))
x = x + dx
return res

def print_result(result):
for item in result:
x, y = item
print(f"x={x} y={y}")

def task_b(a, b, x_lst):
res = []
for x in x_lst:
y = calc(a, b, x)
res.append((x, y))
return res


if __name__ == "__main__":
a = 0.4
b = 0.8

res = task_a(a, b, 0.77, 1.77, 0.2)
print("-------------Task A -------------")
print_result(res)

x_lst = [4.48, 3.56, 2.78, 5.28, 3.21]
res = task_b(a,b,x_lst)
print("-------------Task B -------------")

print_result(res)
31 changes: 31 additions & 0 deletions test.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
import unittest


def summ(a,b):
return a + b

class CalcTests(unittest.TestCase):

def test_positive(self):
res = summ(2,3)
self.assertEqual(5,res)

def test_zero(self):
res = summ(0,0)
self.assertEqual(0,res)

def test_one_negative(self):
res = summ(-2,3)
self.assertEqual(1,res)

def test_both_negative(self):
res = summ(-2,-4)
self.assertEqual(-6,res)

def test_one_negative_zero_res(self):
res = summ(-2,2)
self.assertEqual(0,res)


if __name__ == '__main__':
unittest.main()
40 changes: 40 additions & 0 deletions test_TV.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
import unittest
import TV

class ClassTests(unittest.TestCase):
def test_empty(self):
self.assertTrue(True)

def test_creation(self):
tst = TV.TV("TV")
self.assertEqual("TV", tst.name)

def test_chanel_change(self):
tst = TV.TV("TV")
self.assertEqual("TV", tst.name)
tst.chanel = 5
self.assertEqual(5, tst.chanel)

def test_wrong_chanel_change(self):
tst = TV.TV("TV")
self.assertEqual("TV", tst.name)
tst.chanel = -5
self.assertEqual(0, tst.chanel)

def test_wrong_type_chanel_change(self):
tst = TV.TV("TV")
self.assertEqual("TV", tst.name)
tst.chanel = "10 chanels"
self.assertEqual(0, tst.chanel)

def test_wrong_name_change(self):
tst = TV.TV("TV")
self.assertEqual("TV", tst.name)
tst.name = "ld"
self.assertEqual("ld", tst.name)


if __name__ =='__main__':
unittest.main()