Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

323 строки
9.2 KiB
Markdown

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# Отчёт по теме 1. Знакомство с интерпретатором и интерактивной оболочкой IDLE
Таболин Иван Андреевич А-01-23
#1. Создал свою папку на диске, а в ней создал папки TEMAn
#2. Запустил на выполнение программу-интерпретатор, выбрав ее ярлык «Python 3.13».
#3. 3.Изучил содержание открывающегося диалогового окна интерпретатора. Вывел "hello".
```py
>>> print('Hello')
Hello
```
#4. Запросил от пользователя имя и ввёл с клавиатуры.
```py
>>> h=input('Your name=')
Your name=Ivan
```
#5. Завершил работу интерпретатора.
```py
>>> exit()
```
#6. Запустил интерактивную графическую оболочку IDLE среды Python.
#7. Изучил устройство главного командного окна среды.
#8. Настроил рабочий каталог среды
```py
import os
os.chdir('C:\MPEI\POAS\Tabolin\Tema1\python-labs\TEMA1')
```
#9. Изучил предложения главного меню и настроил интерфейс оболочки IDLE.
#10. Создал файл программы и сохранил под именем Pr0.py.
```py
--------Pr0.py--------
Программа по Теме 1 Таболин Иван Андреевич
print('Hello')
h=input('Your name=')
import os
os.chdir('C:\MPEI\POAS\Tabolin\Tema1\python-labs\TEMA1')
----------------------
```
Запустил программу на выполнение разными способами.
```py
import Pr0
Hello
Your name=Ivan
```
#11. Запустил на выполнение Prb1.py
```py
import prb1
Как Вас зовут? Ivan
Привет, Ivan
```
#12.
Содержание файла Pr0.cpython-34.pyc:
```py
у
;Dµh° г  уP \ " S 5 \" S5 rSSKr\R " S5 g)ЪHelloz
Your name=й NzC:\MPEI\POAS\Tabolin\Tema1\)ЪprintЪinputЪosЪchdir© у Ъ!C:\MPEI\POAS\Tabolin\Tema1\Pr0.pyЪ<module>r  s& рб ЂgЩ УЂЫ Ш Р +Х ,r
```
В папке __pycache__ содержится скомпилированный двоичный код, который нужен для оптимизации
#13. Создал файл протокола темы.
#14. Изучил раздел "Help"
```py
help(print)
Help on built-in function print in module builtins:
print(*args, sep=' ', end='\n', file=None, flush=False)
Prints the values to a stream, or to sys.stdout by default.
sep
string inserted between values, default a space.
end
string appended after the last value, default a newline.
file
a file-like object (stream); defaults to the current sys.stdout.
flush
whether to forcibly flush the stream.
help(print),help(input)
Help on built-in function print in module builtins:
print(*args, sep=' ', end='\n', file=None, flush=False)
Prints the values to a stream, or to sys.stdout by default.
sep
string inserted between values, default a space.
end
string appended after the last value, default a newline.
file
a file-like object (stream); defaults to the current sys.stdout.
flush
whether to forcibly flush the stream.
Help on built-in function input in module builtins:
input(prompt='', /)
Read a string from standard input. The trailing newline is stripped.
The prompt string, if given, is printed to standard output without a
trailing newline before reading input.
If the user hits EOF (*nix: Ctrl-D, Windows: Ctrl-Z+Return), raise EOFError.
On *nix systems, readline is used if available.
(None, None)
```
#15.
Открыл файл prb1.py в текстовом редакторе среды.
С помощью предложения "Window" переключался между окнами.
Запустил программу prb1.py на выполнение с помощью предложения "Run".
```py
============================ RESTART: C:\MPEI\POAS\Tabolin\Tema1\prb1.py ===========================
Как Вас зовут? Ivan
Привет, Ivan
```
Открыл файл Pr0.py в текстовом редакторе среды и переключал окна.
Закрыл два окна текстового редактора с помощью предложения "Close window".
Запустил на выполнение программу tdemo_chaos.py и открыл сам код в текстовом редакторе.
```py
import tdemo_chaos
```
tdemo_chaos.py
```py
# File: tdemo_chaos.py
# Author: Gregor Lingl
# Date: 2009-06-24
# A demonstration of chaos
from turtle import *
N = 80
def f(x):
return 3.9*x*(1-x)
def g(x):
return 3.9*(x-x**2)
def h(x):
return 3.9*x-3.9*x*x
def jumpto(x, y):
penup(); goto(x,y)
def line(x1, y1, x2, y2):
jumpto(x1, y1)
pendown()
goto(x2, y2)
def coosys():
line(-1, 0, N+1, 0)
line(0, -0.1, 0, 1.1)
def plot(fun, start, color):
pencolor(color)
x = start
jumpto(0, x)
pendown()
dot(5)
for i in range(N):
x=fun(x)
goto(i+1,x)
dot(5)
def main():
reset()
setworldcoordinates(-1.0,-0.1, N+1, 1.1)
speed(0)
hideturtle()
coosys()
plot(f, 0.35, "blue")
plot(g, 0.35, "green")
plot(h, 0.35, "red")
# Now zoom in:
for s in range(100):
setworldcoordinates(0.5*s,-0.1, N+1, 1.1)
return "Done!"
if __name__ == "__main__":
main()
mainloop()
```
с помощью предложения "Help" открыл графическую демонстрацию "Turtle demo", а затем в появившемся окне открыл "Часы" и запустил программу "Start".
Программа clock
```py
#!/usr/bin/env python3
""" turtle-example-suite:
turtledemo/clock.py
Enhanced clock-program, showing date
and time
------------------------------------
Press STOP to exit the program!
------------------------------------
"""
from turtle import *
from datetime import datetime
dtfont = "TkFixedFont", 14, "bold"
current_day = None
def jump(distanz, winkel=0):
penup()
right(winkel)
forward(distanz)
left(winkel)
pendown()
def hand(laenge, spitze):
fd(laenge*1.15)
rt(90)
fd(spitze/2.0)
lt(120)
fd(spitze)
lt(120)
fd(spitze)
lt(120)
fd(spitze/2.0)
def make_hand_shape(name, laenge, spitze):
reset()
jump(-laenge*0.15)
begin_poly()
hand(laenge, spitze)
end_poly()
hand_form = get_poly()
register_shape(name, hand_form)
def clockface(radius):
reset()
pensize(7)
for i in range(60):
jump(radius)
if i % 5 == 0:
fd(25)
jump(-radius-25)
else:
dot(3)
jump(-radius)
rt(6)
def display_date_time():
global current_day
writer.clear()
now = datetime.now()
current_day = now.day
writer.home()
writer.forward(distance=65)
writer.write(wochentag(now), align="center", font=dtfont)
writer.back(distance=150)
writer.write(datum(now), align="center", font=dtfont)
writer.forward(distance=85)
def setup():
global second_hand, minute_hand, hour_hand, writer
mode("logo")
make_hand_shape("second_hand", 125, 25)
make_hand_shape("minute_hand", 115, 25)
make_hand_shape("hour_hand", 90, 25)
clockface(160)
second_hand = Turtle()
second_hand.shape("second_hand")
second_hand.color("gray20", "gray80")
minute_hand = Turtle()
minute_hand.shape("minute_hand")
minute_hand.color("blue1", "red1")
hour_hand = Turtle()
hour_hand.shape("hour_hand")
hour_hand.color("blue3", "red3")
for hand in second_hand, minute_hand, hour_hand:
hand.resizemode("user")
hand.shapesize(1, 1, 3)
hand.speed(0)
ht()
writer = Turtle()
writer.ht()
writer.pu()
writer.bk(85)
display_date_time()
def wochentag(t):
wochentag = ["Monday", "Tuesday", "Wednesday",
"Thursday", "Friday", "Saturday", "Sunday"]
return wochentag[t.weekday()]
def datum(z):
monat = ["Jan.", "Feb.", "Mar.", "Apr.", "May", "June",
"July", "Aug.", "Sep.", "Oct.", "Nov.", "Dec."]
j = z.year
m = monat[z.month - 1]
t = z.day
return "%s %d %d" % (m, t, j)
def tick():
t = datetime.today()
sekunde = t.second + t.microsecond*0.000001
minute = t.minute + sekunde/60.0
stunde = t.hour + minute/60.0
try:
tracer(False) # Terminator can occur here
second_hand.setheading(6*sekunde) # or here
minute_hand.setheading(6*minute)
hour_hand.setheading(30*stunde)
if t.day != current_day:
display_date_time()
tracer(True)
ontimer(tick, 100)
except Terminator:
pass # turtledemo user pressed STOP
def main():
tracer(False)
setup()
tracer(True)
tick()
return "EVENTLOOP"
if __name__ == "__main__":
mode("logo")
msg = main()
print(msg)
mainloop()
```