У меня нет компа. Поожжж. создания базы данных «Горные породы».
Исходные файлы:
1)Горные породы(Imgrocks.txt):
178.02;амфиболит;amphibolite;0;2;0;
178.025;андезит;andesite;0;3;0;
178.03;анортозит;anorthosite;0;3;0;
178.044;базальт;basalt;0;1;0;
178.074;габбро;gabbro;0;3;0;
178.079;гарцбургит;harzburgite;0;3;0;
178.095;гнейс;gneiss;0;1;0;
178.097;гранит_порфир;porphyry granite;0;3;0;
178.098;гранит_рапакиви;granite rapakivi;0;3;0;
178.099;гранит;granite;0;1;0;
178.1;гранодиорит;granodiorite;0;3;0;
178.105;дацит;dacite;0;1;0;
178.111;диорит_порфирит;diorite porphyrite;0;3;0;
178.112;диорит;diorite;0;2;0;
178.113;долерит;dolerite;0;2;0;
178.129;карбонатит;carbonatite;0;3;0;
178.134;кварцит;quartzite;0;1;0;
178.146;кремень;flint;0;1;0;
178.148;кристаллический_сланец;schist;0;3;0;
178.159;лерцолит;lherzolite;0;3;0;
178.16;липарит;liparite;0;3;0;
178.178;монцонит_порфир;monzonite-porphyry;0;3;0;
178.179;мрамор;marble;0;1;0;
178.184;нефелиновый_сиенит;nepheline syenite;0;2;0;
178.185;нефелиновый_фонолит;nepheline phonolite;0;2;0;
178.188;обсидиан;obsidian;0;1;0;
178.197;пегматит;pegmatite;0;3;0;
178.198;перидотит;peridotite;0;3;0;
178.2;песчаник;sandstone;0;1;0;
178.217;риолит;rhyolite;0;3;0;
178.23;серпентинит;serpentinite;0;2;0;
178.232;сиенит;syenite;0;2;0;
178.238;сланец;shale;0;1;0;
178.239;слюдяной_сланец;mica slate;0;2;0;
178.256;трахит;trachyte;0;1;0;
178.263;филлит;phyllite;0;3;0;
178.274;хлоритовый_сланец;chlorite shale;0;2;0;
178.302;янтарь;amber;0;1;0;
2)Состав физических характеристик(Ierphysic.txt):
3)Физические характеристики горных пород (Rocksphys.txt).
4)Состав химических характеристик (Rocksierchem.txt)
5)Химические характеристики горных пород (Rockschem.txt).
6)Состав классов горных пород (Rocksierinter.txt).
7)Классификация горных пород (Rocksinter.txt).
Создайте файл базы данных db.sqlite3 и создайте в нем 7 таблиц согласно схемам:
from django.db import models
class Imgrocks(models.Model): #таблица иллюстраций горных пород
RId = models.FloatField(unique=True)
Name = models.CharField(max_length=50)
Enname = models.CharField(max_length=50)
class Chemical(models.Model): #таблица химических свойств горных пород
Name = models.CharField(max_length=50)
Inier = models.IntegerField()
Val = models.FloatField()
class Ierchem(models.Model): #таблица иерархии химических свойств
Type = models.IntegerField()
Minmax = models.CharField(max_length=50)
Name = models.CharField(max_length=150)
Abbr = models.CharField(max_length=50)
Razm = models.CharField(max_length=10, blank=True)
EnMinmax = models.CharField(max_length=50)
EnName = models.CharField(max_length=150)
class Ierin(models.Model): #таблица иерархии классификаций
Type = models.FloatField()
Name = models.CharField(max_length=150)
EnName = models.CharField(max_length=150)
class Ierphy(models.Model): #таблица иерархии физических свойств
Type = models.FloatField()
Name = models.CharField(max_length=150)
Razm = models.CharField(max_length=50)
EnName = models.CharField(max_length=150)
class Interface(models.Model): #таблица классификаций горных пород
Name = models.CharField(max_length=50)
Val = models.FloatField()
class Physic(models.Model): #таблица физических свойств горных пород
Name = models.CharField(max_length=50)
Ier = models.FloatField()
Val = models.FloatField(null=True)
Делу время - потехе час | Еёмф гсёна - рпуёцё шбт
С Новым годом | Т Опгьн дпепн
Первое сентября | Рёсгпё тёоуавса
Исходный код на Python3:
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
TL2I = dict(zip("",range(34)))
I2TL = dict(zip(range(34),""))
SL2I = dict(zip("",range(34)))
I2SL = dict(zip(range(34),""))
phrases = ('Делу время - потехе час', 'С Новым годом', 'Первое сентября')
key = int(input("Введите смещение: "))
for phrase in phrases:
ciphered = ''
for c in phrase:
if not c.isalpha():
ciphered += c
if c.islower():
ciphered += I2SL[ (SL2I[c] + key) % 33 ]
if c.isupper():
ciphered += I2TL[ (TL2I[c] + key) % 33 ]
print("{} | {}".format(phrase, ciphered))