aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSyndamia <kami02882@gmail.com>2019-07-31 15:46:56 +0300
committerSyndamia <kami02882@gmail.com>2019-07-31 15:46:56 +0300
commite173839c44257d0187bb2ec087124db6e2ecde99 (patch)
tree52eb84ab8f858f1fe437e24d6104a0bdd50d17e2
parenta48a6e1c302a5e90235a82e73517cd43f9c1432e (diff)
downloadSelf-learning-e173839c44257d0187bb2ec087124db6e2ecde99.tar
Self-learning-e173839c44257d0187bb2ec087124db6e2ecde99.tar.gz
Self-learning-e173839c44257d0187bb2ec087124db6e2ecde99.zip
Optimised Number names code
-rw-r--r--Java/Number_Names/out/production/Number_Names/Program.classbin4939 -> 5161 bytes
-rw-r--r--Java/Number_Names/src/Program.java89
-rw-r--r--Python/.idea/workspace.xml23
-rw-r--r--Python/Beginner training/Tasks.py29
4 files changed, 73 insertions, 68 deletions
diff --git a/Java/Number_Names/out/production/Number_Names/Program.class b/Java/Number_Names/out/production/Number_Names/Program.class
index 20d05f5..90c27c9 100644
--- a/Java/Number_Names/out/production/Number_Names/Program.class
+++ b/Java/Number_Names/out/production/Number_Names/Program.class
Binary files differ
diff --git a/Java/Number_Names/src/Program.java b/Java/Number_Names/src/Program.java
index ed9ef79..6dabf73 100644
--- a/Java/Number_Names/src/Program.java
+++ b/Java/Number_Names/src/Program.java
@@ -47,63 +47,44 @@ public class Program {
}
name.append(SmallNumberName((int)curr_num));
+ boolean to_determine = true;
switch (i) {
- case 1:
- if (number_parts.get(1) != 0) {
- name.append(" thousand");
-
- if (number_parts.get(0) != 0) {
- if (number_parts.get(0) / 100 == 0) name.append(" and ");
- else name.append(", ");
- }
- } break;
-
- case 2:
- if (number_parts.get(2) != 0) {
- name.append(" million");
-
- if (number_parts.get(0) != 0 || number_parts.get(1) != 0) {
- if (number_parts.get(0) / 100 == 0) name.append(" and ");
- else name.append(", ");
- }
- } break;
-
- case 3:
- if (number_parts.get(3) != 0) {
- name.append(" milliard");
-
- if (number_parts.get(0) != 0 || number_parts.get(1) != 0 || number_parts.get(2) != 0) {
- if (number_parts.get(0) / 100 == 0) name.append(" and ");
- else name.append(", ");
- }
- } break;
- case 4:
- if (number_parts.get(4) != 0) {
- name.append(" billion");
-
- if (number_parts.get(0) != 0 || number_parts.get(1) != 0 || number_parts.get(2) != 0 || number_parts.get(3) != 0) {
- if (number_parts.get(0) / 100 == 0) name.append(" and ");
- else name.append(", ");
- }
- } break;
- case 5:
- if (number_parts.get(5) != 0) {
- name.append(" billiard");
-
- if (number_parts.get(0) != 0 || number_parts.get(1) != 0 || number_parts.get(2) != 0 || number_parts.get(3) != 0 || number_parts.get(4) != 0) {
- if (number_parts.get(0) / 100 == 0) name.append(" and ");
- else name.append(", ");
- }
- } break;
case 6:
- if (number_parts.get(6) != 0) {
+ if (number_parts.get(6) != 0) { //to_determine is always true when it reaches here
name.append(" trillion");
-
- if (number_parts.get(0) != 0 || number_parts.get(1) != 0 || number_parts.get(2) != 0 || number_parts.get(3) != 0 || number_parts.get(4) != 0 || number_parts.get(5) != 0) {
- if (number_parts.get(0) / 100 == 0) name.append(" and ");
- else name.append(", ");
- }
- } break;
+ to_determine = false;
+ }
+ case 5:
+ if (number_parts.get(5) != 0 && to_determine) {
+ name.append(" billiard");
+ to_determine = false;
+ }
+ case 4:
+ if (number_parts.get(4) != 0 && to_determine) {
+ name.append(" billion");
+ to_determine = false;
+ }
+ case 3:
+ if (number_parts.get(3) != 0 && to_determine) {
+ name.append(" milliard");
+ to_determine = false;
+ }
+ case 2:
+ if (number_parts.get(2) != 0 && to_determine) {
+ name.append(" million");
+ to_determine = false;
+ }
+ case 1:
+ if (number_parts.get(1) != 0 && to_determine) {
+ name.append(" thousand");
+ to_determine = false;
+ }
+
+ if (number_parts.subList(0, i).stream().anyMatch(n -> n != 0) && !to_determine) {
+ if (number_parts.get(0) / 100 == 0) name.append(" and ");
+ else name.append(", ");
+ }
+ break;
}
}
return name.toString();
diff --git a/Python/.idea/workspace.xml b/Python/.idea/workspace.xml
index ec04b64..7b14add 100644
--- a/Python/.idea/workspace.xml
+++ b/Python/.idea/workspace.xml
@@ -2,10 +2,8 @@
<project version="4">
<component name="ChangeListManager">
<list default="true" id="fa33c027-ed35-40de-9bbc-c9cf5acfc8e7" name="Default Changelist" comment="">
- <change afterPath="$PROJECT_DIR$/Beginner training/Game test.py" afterDir="false" />
- <change beforePath="$PROJECT_DIR$/.idea/Python.iml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/Python.iml" afterDir="false" />
- <change beforePath="$PROJECT_DIR$/.idea/misc.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/misc.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/Beginner training/Tasks.py" beforeDir="false" afterPath="$PROJECT_DIR$/Beginner training/Tasks.py" afterDir="false" />
</list>
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
<option name="SHOW_DIALOG" value="false" />
@@ -32,7 +30,8 @@
<property name="ASKED_SHARE_PROJECT_CONFIGURATION_FILES" value="true" />
<property name="SHARE_PROJECT_CONFIGURATION_FILES" value="true" />
<property name="ToolWindowRun.ShowToolbar" value="false" />
- <property name="last_opened_file_path" value="$PROJECT_DIR$/Beginner training/Game test.py" />
+ <property name="ToolWindowServices.ShowToolbar" value="false" />
+ <property name="last_opened_file_path" value="$PROJECT_DIR$/Beginner training/Tasks.py" />
<property name="restartRequiresConfirmation" value="false" />
<property name="settings.editor.selected.configurable" value="com.jetbrains.python.configuration.PyActiveSdkModuleConfigurable" />
</component>
@@ -53,7 +52,7 @@
</list>
</option>
</component>
- <component name="RunManager" selected="Python.Game test">
+ <component name="RunManager" selected="Python.Tasks">
<configuration default="true" type="CompoundRunConfigurationType">
<toRun name="Basic synthax config" type="PythonConfigurationType" />
<toRun name="2 Pets config" type="PythonConfigurationType" />
@@ -174,9 +173,9 @@
<envs>
<env name="PYTHONUNBUFFERED" value="1" />
</envs>
- <option name="SDK_HOME" value="C:\Users\kami0\AppData\Local\Programs\Python\Python37\python.exe" />
+ <option name="SDK_HOME" value="" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/Beginner training" />
- <option name="IS_MODULE_SDK" value="false" />
+ <option name="IS_MODULE_SDK" value="true" />
<option name="ADD_CONTENT_ROOTS" value="true" />
<option name="ADD_SOURCE_ROOTS" value="true" />
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/Beginner training/Tasks.py" />
@@ -200,16 +199,18 @@
<component name="ServiceViewManager">
<option name="allServicesViewState">
<serviceView>
- <option name="contentProportion" value="0.1038526" />
+ <option name="contentProportion" value="0.3296" />
<treeState>
<expand>
<path>
<item name="services root" type="e789fda9:ObjectUtils$Sentinel" />
- <item name="com.intellij.execution.services.ServiceModel$ServiceGroupNode@5fbdd309" type="7427dc5b:ServiceModel$ServiceGroupNode" />
+ <item name="com.intellij.execution.services.ServiceModel$ContributorNode@53a38bba" type="d2cb1801:ServiceModel$ContributorNode" />
</path>
</expand>
<select />
</treeState>
+ <option name="groupByServiceGroups" value="false" />
+ <option name="groupByContributor" value="true" />
</serviceView>
</option>
</component>
@@ -240,7 +241,9 @@
<map>
<entry key="MAIN">
<value>
- <State />
+ <State>
+ <option name="COLUMN_ORDER" />
+ </State>
</value>
</entry>
</map>
diff --git a/Python/Beginner training/Tasks.py b/Python/Beginner training/Tasks.py
index 873bde6..d60a8bf 100644
--- a/Python/Beginner training/Tasks.py
+++ b/Python/Beginner training/Tasks.py
@@ -65,7 +65,28 @@ def Factoriel():
print(final_int)
-Divide()
-Histogram()
-NumberMatrix()
-Factoriel() \ No newline at end of file
+def CaesarCypher():
+ while True:
+ key = input("Type a key: ")
+ msg = input("Type a message: ")
+
+ decoded = [] ; encoded = []
+ for c in msg:
+ decoded.append(c - key)
+ encoded.append(c + key)
+
+ print(end="Decoded message: ")
+ for c in decoded:
+ print(end=c)
+ print()
+
+ print(end="Encoded message")
+ for c in encoded:
+ print(end=c)
+
+
+#Divide()
+#Histogram()
+#NumberMatrix()
+#Factoriel()
+CaesarCypher() \ No newline at end of file