Çàáàâíûé ñïîñîá ðàñïàêîâêè |
Äíåâíèê |
Îêàçûâàåòñÿ, â ïàéòîí åñòü ñïîñîá áåñïîíòîâîé ðàñïàêîâêè ñëîæíûõ, íî çàêîíîìåðíûõ èòåðàáåëüíûõ îáúåêòîâ.
l = [(1, 2, 3), (4, 5, 6), (7, 8, 9), (4, 0, 1)]for (a, b ,c) in l: print(f"{a}, {b}, {c}") 1, 2, 34, 5, 67, 8, 94, 0, 1
|
module 'collections' has no attribute 'MutableMapping' |
Äíåâíèê |
Êñòàòå, òðåòüÿ äæàíãà íå ðàáîòàåò ñ ïèòîíîì 3.10. Ñåãîäíÿ ïðîáîâàë óñòàíîâèòü, ïîëó÷èë AttributeError: module 'collections' has no attribute 'MutableMapping'.
Âûõîä: èëè þçàòü ïèòîí 3.9 + äæàíãà 3.2 èëè 3.10 + 4.0.
Ìåòêè: Django Python AttributeError |
Ïðîãðàììà |
Äíåâíèê |
Âîò òàêîå ïîíàïèñàë. Äîáàâèòü íå÷åãî, êðîìå Qt-ìîðäû. Íî ýòî ïîòîì, êîãäà êîìï áóäåò.
#-*-coding:utf8;-*-
# ver. 2.31
# Ïðîãðàììà ðàññ÷èòûâàåò ñêîðîñòü èëè âðåìÿ ñâîáîäíîãî ïàäåíèÿ èç ïîëüçîâàòåëüñêîãî ââîäà. Àâòîìàòè÷åñêè êîððåêòèðóåò ââåäåííûå äàííûå. Íàïðèìåð óáèðàåò ëèøíèå òî÷êè, çàìåíÿåò çàïÿòûå òî÷êàìè. Åñëè ââîä ñîäåðæèò íåêîððåêòíûå ñèìâîëû (áóêâû è ïóíêòóàöèþ), âûäà¸ò îøèáêó è ïðåäëàãàåò ïîâòîðèòü ââîä.
# Êàê è âñå ìîè ïðîãðàììû ðàáîòàåò ÒÎËÜÊÎ â îôôëàéíå, ïîòîìó ÷òî ñîäåðæèò ñèìâîëû êèðèëëèöåé.
import math
def finput ():
g = 9.8
a = input("Ââåäèòå âûñîòó ïàäåíèÿ â ìåòðàõ \nèëè Enter, åñëè õîòèòå âû÷èñëèòü \nñêîðîñòü ïî âðåìåíè: \n> ")
a = zap2point(a)
if len(a) > 0:
h = number_test(a)
if h == "error":
finput ()
else:
h = float (h)
u = math.sqrt(2*g*h)
t = u / g
u2 = u * 3.6
print ("Êîíå÷íàÿ ñêîðîñòü ïàäåíèÿ: \n{} ì/ñ \n{} êì/÷ \n{} ì çà {} ñåê.".format (fr(u), fr(u2), fr(h), fr(t)))
else:
a = input("Ââåäèòå âðåìÿ ïàäåíèÿ â ñåêóíäàõ: \n> ")
a = zap2point(a)
t = number_test(a)
if t == "error":
finput ()
else:
t = float (t)
u = g * t
h = (u * t) / 2
u2 = u * 3.6
print ("Êîíå÷íàÿ ñêîðîñòü ïàäåíèÿ: \n{} ì/ñ \n{} êì/÷ \n{} ì çà {} ñåê.".format (fr(u), fr(u2), fr(h), fr(t)))
def number_test (a):
b = ""
# Åñëè ÷èñëî òî÷åê â ñòðîêå áîëüøå 1
# çàïîìèíàåì èíäåêñ ïåðâîé òî÷êè.
if a.count (".") > 1:
pindex = a.index(".")
else:
pindex = len (a) + 2
if len(a) == 0:
b = "error"
return b
else:
# Ïåðåáèðàåì âñå ñèìâîëû ñòðîêè
# Åñëè ñèìâîë ÷èñëî èëè òî÷êà, ïðîäîëæàåì
# Åñëè ñèìâîë òî÷êà è åãî èíäåêñ áîëüøå
# èíäåêñà ïåðâîé òî÷êè, ïðîïóñêàåì åãî
# Åñëè ñèìâîë íå ÷èñëî è íå òî÷êà -
# îáðûâàåì öèêë
for char in a:
if char in ("1234567890."):
if char == "." and len (b) > pindex:
continue
b += char
else:
print ("***********************\nÎøèáêà! Ââåäèòå öåëîå èëè \nâåùåñòâåííîå ÷èñëî, \níàïðèìåð 34 èëè 45.6\n***********************")
b = "error"
break
if b == ".":
print ("***********************\nÎøèáêà! Ââåäèòå öåëîå èëè \nâåùåñòâåííîå ÷èñëî, \níàïðèìåð 34 èëè 45.6\n***********************")
b = "error"
return b
# Òàê êàê ïèòîí èíîãäà îòîáðàæàåò
# íàòóðàëüíûå ÷èñëà íåêðàñèâî, íàïðèìåð
# 3.2999999999 âìåñòî 3.3, ÿ íàïèñàë
# ôóíêöèþ,êîòîðàÿ áîëåå è ìåíåå êîððåêòíî
# îêóãëÿåò ÷èñëî ïåðåä âûâîäîì íà ýêðàí.
def fr (x):
if x >= 10000:
x = int(math.modf(x)[1])
elif x >= 999:
x = "{:.5}".format(x)
elif x <= 0.0001:
x = "{:.10}".format(x)
elif x >= 99.9:
x = "{:.4}".format(x)
else:
x = "{:.3}".format(x)
return x
# Òàê êàê ÷àñòî ïðè ââîäå ÷èñëà õî÷åòñÿ
# âìåñòî òî÷êè ïîñòàâèòü çàïÿòóþ, ýòà
# ôóíêöèÿ çàìåíÿåò âñå çàïÿòûå òî÷êàìè
# è óäàëÿåò ïðîáåëû
# ÷òîáû èçáåæàòü îøèáîê ïðè âû÷èñëåíèè
def zap2point (h):
y = ""
for char in h:
if char == ",":
char = "."
elif char == " ":
continue
y += char
return y
# ñîáñòâåííî, çàïóñêàåì ïðîãðàììó
finput()
|
Áåç çàãîëîâêà |
Äíåâíèê |
ß òóò ðåøèë âñòðÿõíóòü ñòàðèíîé è çàíÿëñÿ ïèòîíîâîäñòâîì. Âðîäå áû íèêîãäà ñåðüåçíî ïðÿìî íå çàíèìàëñÿ ïðîãðàììèðîâàíèåì. Íî âðîäå è áàçà åñòü. HTML, CSS, ÷óòîê JavaScript, à åù¸ â ó÷èëèùå Basic 2.0, à åù¸ àçû Pascal, PHP è êîíå÷íî æå ïî÷òè 10 ëåò bash íà óðîâíå þçåðà.
Íàïèñàë äàæå îäíó êîíñîëüíóþ ïðîãðàììó. Íå àõòè ïîëåçíóþ, íî óìíóþ. Òî÷íåå ïðîãðàìì íåñêîëüêî, íî îäíó ñàìóþ ìóäðóþ. Ñ÷èòàåò ñêîðîñòü è âðåìÿ ñâîáîäíîãî ïàäåíèÿ òåëà, åñëè çàäàíà âûñîòà, èëè âûñîòó è ñêîðîñòü, åñëè çàäàíî âðåìÿ ïàäåíèÿ. Óìååò àíàëèçèðîâàòü ïîëüçîâàòåëüñêèé ââîä, óäàëÿòü ëèøíèå òî÷êè, åñëè þçåðü ïîñòàâèë èõ ïî çàïàðå èëè îò íåôèã äåëàòü. Óìååò óäàëÿòü ïðîáåëû è çàìåíÿòü çàïÿòûå òî÷êàìè.
Ïðàâäà ñ ãðàôè÷åñêèì èíòåðôåéñîì ïîêà ÷òî íå ðàáîòàë. È ïðîãðàììèòü ìîãó òîëüêî íà òåëåôîíå. Êîìïà íåò. Âñ¸ ðàâíî çàáàâíî.
Ìåòêè: Ïèòîí ïðîãðàììèðîâàíèå |
Ìîé ñêðèïò äëÿ ïîäñ÷¸òà êîíòðîëüíûõ ñóìì md5 (v0.20) |
Äíåâíèê |
#!/bin/bash
# Ñêðèïò äëÿ ïîñ÷¸òà êîíòðîëüíûõ ñóìì 0.20 (Âîñêðåñåíüå, 21 Ìàðò 2010)
# © Ëèííèê Ñåðãåé wahnbild@yandex.ru
# Ëèöåíçèÿ GNU GPL v2
# http://www.gnu.org/licenses/gpl-2.0.txt
if [ $# -eq 0 ]
then
echo "Íå ïåðåäàíî íè îäíîãî àðãóìåíòà" >> md5sum.md5.error
exit 0;
fi
if [ $# -eq 1 ]
then
if [ -d "$1" ]
then
md5sum "$1"/* >> "$1".md5
else
md5sum "$1" >> "$1".md5
fi
else
until [ -z "$1" ]
do
if [ -d "$1" ]
then
md5sum "$1"/* >> md5sum.md5
else
md5sum "$1" >> md5sum.md5
fi
shift
done
fi
exit 0;
|
Ìîé ñêðèïò äëÿ æ¸ñòêèõ ññûëîê âåðñèÿ 0.21 |
Äíåâíèê |
Ìåòêè: ñêðèïòû íàóòèëóñ æ¸ñòêèå ññûëêè scriptus-idiotus |
Ƹñòêèå ññûëêè, ïðîäîëæåíèå |
Äíåâíèê |

Ìåòêè: ñêðèïòû íàóòèëóñ nautilus æ¸ñòêèå ññûëêè |
| Ñòðàíèöû: | [1] |