mirror of
https://gitea.blesmrt.net/mikaela/scripts.git
synced 2025-02-18 06:30:58 +01:00
Compare commits
18 Commits
2953f724da
...
7fcd19c4d7
Author | SHA1 | Date | |
---|---|---|---|
7fcd19c4d7 | |||
139b5368e6 | |||
357f4847f8 | |||
331434f855 | |||
5e92b8d998 | |||
9d2c422a63 | |||
5674d0f641 | |||
4121f9ea30 | |||
95b7e82f86 | |||
d9cd123551 | |||
ba3d6d3358 | |||
19ab00d9a3 | |||
2902c56a1d | |||
c7ca230b82 | |||
7753a12ac0 | |||
ce9cd7979f | |||
b6895fc699 | |||
faf330239c |
52
.pre-commit-config.yaml
vendored
52
.pre-commit-config.yaml
vendored
@ -1,22 +1,15 @@
|
|||||||
# @format
|
# @format
|
||||||
|
|
||||||
# SPDX-FileCopyrightText: 2023 Aminda Suomalainen <suomalainen+git@mikaela.info>
|
# SPDX-FileCopyrightText: 2024 Aminda Suomalainen <suomalainen+git@mikaela.info>
|
||||||
#
|
#
|
||||||
# SPDX-License-Identifier: CC0-1.0
|
# SPDX-License-Identifier: CC0-1.0
|
||||||
|
|
||||||
# See https://pre-commit.com for more information
|
# See https://pre-commit.com for more information
|
||||||
# See https://pre-commit.ci for more information
|
# See https://pre-commit.ci for more information
|
||||||
ci:
|
ci:
|
||||||
# Forĝejo/Gitea mirrors will autoclose pull requests. This should decrease
|
|
||||||
# the frequency of unnecessary PRs.
|
|
||||||
# https://github.com/pre-commit-ci/issues/issues/83
|
|
||||||
autoupdate_schedule: quarterly
|
autoupdate_schedule: quarterly
|
||||||
skip: [pnpm-install-dev, prettier, pylint]
|
skip: [pnpm-install-dev, prettier, pylint]
|
||||||
|
|
||||||
# use pypy3 for python
|
|
||||||
default_language_version:
|
|
||||||
python: pypy3
|
|
||||||
|
|
||||||
repos:
|
repos:
|
||||||
- repo: https://github.com/pre-commit/pre-commit-hooks
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
||||||
rev: v4.6.0
|
rev: v4.6.0
|
||||||
@ -36,65 +29,49 @@ repos:
|
|||||||
- id: check-docstring-first
|
- id: check-docstring-first
|
||||||
- id: check-json
|
- id: check-json
|
||||||
- id: check-merge-conflict
|
- id: check-merge-conflict
|
||||||
#- id: check-toml
|
- id: check-toml
|
||||||
#- id: check-xml
|
#- id: check-xml
|
||||||
- id: debug-statements
|
- id: debug-statements
|
||||||
- id: mixed-line-ending
|
- id: mixed-line-ending
|
||||||
# .gitattributes is trusted to handle this
|
args: [--fix=lf]
|
||||||
args: [--fix=no]
|
|
||||||
- id: pretty-format-json
|
- id: pretty-format-json
|
||||||
args: [--autofix, --no-ensure-ascii]
|
args: [--autofix, --no-ensure-ascii]
|
||||||
#- id: requirements-txt-fixer
|
|
||||||
- repo: https://github.com/pre-commit-ci/pre-commit-ci-config
|
- repo: https://github.com/pre-commit-ci/pre-commit-ci-config
|
||||||
rev: v1.6.1
|
rev: v1.6.1
|
||||||
hooks:
|
hooks:
|
||||||
- id: check-pre-commit-ci-config
|
- id: check-pre-commit-ci-config
|
||||||
|
|
||||||
- repo: https://github.com/thlorenz/doctoc
|
- repo: https://github.com/thlorenz/doctoc
|
||||||
rev: v2.2.0
|
rev: v2.2.0
|
||||||
hooks:
|
hooks:
|
||||||
- id: doctoc
|
- id: doctoc
|
||||||
# https://github.com/Mikaela/gist/blob/master/doctoc.txt
|
# https://github.com/Mikaela/gist/blob/master/doctoc.txt
|
||||||
args: [--update-only]
|
args: [--update-only]
|
||||||
|
|
||||||
- repo: https://github.com/pre-commit/mirrors-mypy
|
- repo: https://github.com/pre-commit/mirrors-mypy
|
||||||
rev: "v1.10.1"
|
rev: "v1.10.1"
|
||||||
hooks:
|
hooks:
|
||||||
- id: mypy
|
- id: mypy
|
||||||
args: [--install-types, --non-interactive]
|
additional_dependencies: [types-tabulate]
|
||||||
- repo: https://github.com/asottile/pyupgrade
|
|
||||||
rev: v3.16.0
|
- repo: https://github.com/pycqa/isort
|
||||||
|
rev: 5.13.2
|
||||||
hooks:
|
hooks:
|
||||||
- id: pyupgrade
|
- id: isort
|
||||||
args:
|
name: isort (python)
|
||||||
[--py310-plus]
|
|
||||||
# - repo: https://github.com/asottile/reorder-python-imports
|
|
||||||
# rev: v3.12.0
|
|
||||||
# hooks:
|
|
||||||
#- id: reorder-python-imports
|
|
||||||
#args: [--py310-plus]
|
|
||||||
- repo: https://github.com/asottile/add-trailing-comma
|
|
||||||
rev: v3.1.0
|
|
||||||
hooks:
|
|
||||||
- id: add-trailing-comma
|
|
||||||
|
|
||||||
- repo: https://github.com/psf/black
|
- repo: https://github.com/psf/black
|
||||||
rev: 24.4.2
|
rev: 24.4.2
|
||||||
hooks:
|
hooks:
|
||||||
- id: black
|
- id: black
|
||||||
#Refer to pyproject.toml
|
|
||||||
#args: ["--line-length", "79", "--target-version", "py310"]
|
|
||||||
#- id: black-jupyter
|
|
||||||
# - repo: https://github.com/scop/pre-commit-shfmt
|
|
||||||
# rev: v3.8.0-1
|
|
||||||
# hooks:
|
|
||||||
# - id: shfmt
|
|
||||||
#- id: shfmt-docker
|
|
||||||
|
|
||||||
- repo: local
|
- repo: local
|
||||||
hooks:
|
hooks:
|
||||||
- id: pylint
|
- id: pylint
|
||||||
name: pylint
|
name: pylint
|
||||||
# Use as many jobs as CPU cores, disable TODO warnings
|
entry: pylint --exit-zero
|
||||||
entry: pylint -j 0 -d W0511
|
verbose: true
|
||||||
language: system
|
language: system
|
||||||
types_or: [python, pyi]
|
types_or: [python, pyi]
|
||||||
- id: pnpm-install-dev
|
- id: pnpm-install-dev
|
||||||
@ -102,7 +79,6 @@ repos:
|
|||||||
entry: corepack pnpm install -D
|
entry: corepack pnpm install -D
|
||||||
language: system
|
language: system
|
||||||
always_run: true
|
always_run: true
|
||||||
#verbose: true
|
|
||||||
pass_filenames: false
|
pass_filenames: false
|
||||||
- id: prettier
|
- id: prettier
|
||||||
name: prettier
|
name: prettier
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
{
|
{
|
||||||
"bracketSameLine": true,
|
"bracketSameLine": true,
|
||||||
"endOfLine": "auto",
|
"endOfLine": "auto",
|
||||||
"insertPragma": true,
|
|
||||||
"plugins": [
|
"plugins": [
|
||||||
"@prettier/plugin-ruby",
|
"@prettier/plugin-ruby",
|
||||||
"prettier-plugin-sh"
|
"prettier-plugin-sh"
|
||||||
|
1
.ruby-version
Normal file
1
.ruby-version
Normal file
@ -0,0 +1 @@
|
|||||||
|
3.3.4
|
6
Gemfile
Normal file
6
Gemfile
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
source "https://rubygems.org"
|
||||||
|
ruby file: ".ruby-version"
|
||||||
|
gem "prettier_print"
|
||||||
|
gem "syntax_tree"
|
||||||
|
gem "syntax_tree-haml"
|
||||||
|
gem "syntax_tree-rbs"
|
40
Gemfile.lock
Normal file
40
Gemfile.lock
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
GEM
|
||||||
|
remote: https://rubygems.org/
|
||||||
|
specs:
|
||||||
|
haml (6.3.0)
|
||||||
|
temple (>= 0.8.2)
|
||||||
|
thor
|
||||||
|
tilt
|
||||||
|
logger (1.6.0)
|
||||||
|
prettier_print (1.2.1)
|
||||||
|
rbs (3.5.2)
|
||||||
|
logger
|
||||||
|
syntax_tree (6.2.0)
|
||||||
|
prettier_print (>= 1.2.0)
|
||||||
|
syntax_tree-haml (4.0.3)
|
||||||
|
haml (>= 5.2)
|
||||||
|
prettier_print (>= 1.2.1)
|
||||||
|
syntax_tree (>= 6.0.0)
|
||||||
|
syntax_tree-rbs (1.0.0)
|
||||||
|
prettier_print
|
||||||
|
rbs
|
||||||
|
syntax_tree (>= 2.0.1)
|
||||||
|
temple (0.10.3)
|
||||||
|
thor (1.3.1)
|
||||||
|
tilt (2.4.0)
|
||||||
|
|
||||||
|
PLATFORMS
|
||||||
|
ruby
|
||||||
|
x86_64-linux
|
||||||
|
|
||||||
|
DEPENDENCIES
|
||||||
|
prettier_print
|
||||||
|
syntax_tree
|
||||||
|
syntax_tree-haml
|
||||||
|
syntax_tree-rbs
|
||||||
|
|
||||||
|
RUBY VERSION
|
||||||
|
ruby 3.3.4p94
|
||||||
|
|
||||||
|
BUNDLED WITH
|
||||||
|
2.5.11
|
@ -1,22 +1,33 @@
|
|||||||
# When changing this file, read also .pre-commit-config.yaml
|
# Black
|
||||||
|
|
||||||
[tool.black]
|
[tool.black]
|
||||||
line-length = 79
|
line-length = 79
|
||||||
target-version = ['py310']
|
target-version = ['py310']
|
||||||
|
preview = true
|
||||||
|
|
||||||
|
# Mypy
|
||||||
[tool.mypy]
|
[tool.mypy]
|
||||||
#python-executable = 'pypy3'
|
python_version = '3.10'
|
||||||
python-version = 3.10
|
|
||||||
|
# Pylint
|
||||||
|
[tool.pylint.main]
|
||||||
|
py-version = "3.10"
|
||||||
|
jobs = 0
|
||||||
|
|
||||||
|
[tool.pylint.basic]
|
||||||
|
include-naming-hint = true
|
||||||
|
|
||||||
|
[tool.pylint.format]
|
||||||
|
max-line-length = 79
|
||||||
|
|
||||||
|
[tool.pylint."messages control"]
|
||||||
|
# Disables warnings about TODO
|
||||||
|
disable = ["W0511"]
|
||||||
|
|
||||||
|
#[tool.pylint.variables]
|
||||||
|
#ignored-argument-names = "_.*|^ignored_|^unused_"
|
||||||
|
|
||||||
# https://black.readthedocs.io/en/stable/guides/using_black_with_other_tools.html
|
# https://black.readthedocs.io/en/stable/guides/using_black_with_other_tools.html
|
||||||
|
|
||||||
# No need to have it uncommented since 79 is the standard.
|
# isort
|
||||||
#[tool.pylint.format]
|
[tool.isort]
|
||||||
#max-line-length = 79
|
profile = "black"
|
||||||
|
|
||||||
# Not actually used here, see .pre-commit-config.yaml for reorder-python-imports
|
|
||||||
# that does the same thing.
|
|
||||||
#[tool.isort]
|
|
||||||
#profile = "black"
|
|
||||||
|
|
||||||
# copy-pasted comments end.
|
|
||||||
|
@ -6,7 +6,9 @@ This script generated Keyoxide hashed proofs in argon2id and bcrypt
|
|||||||
PROOF = str(input("Enter the proof: "))
|
PROOF = str(input("Enter the proof: "))
|
||||||
|
|
||||||
print(
|
print(
|
||||||
"$argon2id$v=19$m=64,t=512,p=2$mDejbh8SmFFJPjbjf+u9kQ$yQpomARjYKfgEDAZ1jdgnA",
|
"""
|
||||||
|
$argon2id$v=19$m=64,t=512,p=2$mDejbh8SmFFJPjbjf+u9kQ$yQpomARjYKfgEDAZ1jdgnA",
|
||||||
|
""",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@ -25,7 +25,8 @@ def check_ssid_length(given_ssid_length):
|
|||||||
# Request input or assume "test" on empty.
|
# Request input or assume "test" on empty.
|
||||||
GIVENSSID = str(
|
GIVENSSID = str(
|
||||||
input(
|
input(
|
||||||
"Please enter the SSID you are thinking of (preferably 26 chars to fit _nomap): ",
|
"Please enter the SSID you are thinking of (preferably 26 chars to \
|
||||||
|
fit _nomap): ",
|
||||||
)
|
)
|
||||||
or "test",
|
or "test",
|
||||||
)
|
)
|
||||||
|
@ -1,15 +0,0 @@
|
|||||||
root = true
|
|
||||||
|
|
||||||
[*]
|
|
||||||
# https://peps.python.org/pep-0008/#indentation
|
|
||||||
indent_style = space
|
|
||||||
indent_size = 4
|
|
||||||
max_line_length = 79
|
|
||||||
|
|
||||||
[*.py]
|
|
||||||
profile = black
|
|
||||||
max_line_length = 79
|
|
||||||
#end_of_line = crlf
|
|
||||||
|
|
||||||
[*.md]
|
|
||||||
end_of_line = lf
|
|
3
python/taitotalo/.gitattributes
vendored
3
python/taitotalo/.gitattributes
vendored
@ -1,3 +0,0 @@
|
|||||||
* text=auto
|
|
||||||
# This is for doctoc should I decide to use it in the future
|
|
||||||
*.md text eol=lf
|
|
@ -33,7 +33,8 @@ def arvaa_numero():
|
|||||||
|
|
||||||
laskuri += 1
|
laskuri += 1
|
||||||
|
|
||||||
# Pyydetään käyttäjältä luku varautuen virheelliseen syötteeseen. Se on tärkeää muuttaa int:iksi tai muuten se on string!
|
# Pyydetään käyttäjältä luku varautuen virheelliseen syötteeseen. Se
|
||||||
|
# on tärkeää muuttaa int:iksi tai muuten se on string!
|
||||||
try:
|
try:
|
||||||
arvaus = int(input("Arvaa numero? "))
|
arvaus = int(input("Arvaa numero? "))
|
||||||
# Virhesyötteen tapahtuessa
|
# Virhesyötteen tapahtuessa
|
||||||
@ -54,13 +55,16 @@ def arvaa_numero():
|
|||||||
)
|
)
|
||||||
break
|
break
|
||||||
|
|
||||||
# Muuten avustetaan käyttäjää antamalla vihje. Printistä myös poistetaan erottavat välilyönnit, jotka tehdään itse, jotta arvauksen ja pisteen väliin ei tule välilyöntejä
|
# Muuten avustetaan käyttäjää antamalla vihje. Printistä myös
|
||||||
elif arvaus < oikeavastaus:
|
# poistetaan erottavat välilyönnit, jotka tehdään itse, jotta
|
||||||
|
# arvauksen ja pisteen väliin ei tule välilyöntejä
|
||||||
|
if arvaus < oikeavastaus:
|
||||||
print("Oikea luku on suurempi kuin ", arvaus, ".", sep="")
|
print("Oikea luku on suurempi kuin ", arvaus, ".", sep="")
|
||||||
else:
|
else:
|
||||||
print("Oikea luku on pienempi kuin ", arvaus, ".", sep="")
|
print("Oikea luku on pienempi kuin ", arvaus, ".", sep="")
|
||||||
|
|
||||||
|
|
||||||
# Jos suoritamme koodia suoraan skriptistä importtauksen sijaan, suoritetaan pääfunktio.
|
# Jos suoritamme koodia suoraan skriptistä importtauksen sijaan, suoritetaan
|
||||||
|
# pääfunktio.
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
main()
|
main()
|
@ -6,8 +6,8 @@ import datetime
|
|||||||
|
|
||||||
tanaan = datetime.date.today()
|
tanaan = datetime.date.today()
|
||||||
vuosi = int(tanaan.year)
|
vuosi = int(tanaan.year)
|
||||||
nimi = "Jussi"
|
NIMI = "Jussi"
|
||||||
|
|
||||||
print(vuosi)
|
print(vuosi)
|
||||||
print(vuosi == 2014)
|
print(vuosi == 2014)
|
||||||
print(vuosi is vuosi)
|
# print(vuosi is vuosi)
|
@ -2,12 +2,12 @@
|
|||||||
Sovellus tekee yksinkertaisen salasanatarkistuksen if:illä
|
Sovellus tekee yksinkertaisen salasanatarkistuksen if:illä
|
||||||
"""
|
"""
|
||||||
|
|
||||||
koodisana = "python"
|
KOODISANA = "python"
|
||||||
|
|
||||||
print("Tervetuloa")
|
print("Tervetuloa")
|
||||||
syote = input("Anna salasana: ")
|
syote = input("Anna salasana: ")
|
||||||
|
|
||||||
if syote == koodisana:
|
if syote == KOODISANA:
|
||||||
print("Matka voi alkaa")
|
print("Matka voi alkaa")
|
||||||
else:
|
else:
|
||||||
print("Yritä uudelleen")
|
print("Yritä uudelleen")
|
@ -1,15 +1,19 @@
|
|||||||
"""
|
"""
|
||||||
Sovellus kysyy käyttäjän ikää, kertoo alle 18 heidän olevan alaikäinen, 18-65 aikuinen ja yli 65 seniori.
|
Sovellus kysyy käyttäjän ikää, kertoo alle 18 heidän olevan alaikäinen, 18-65
|
||||||
|
aikuinen ja yli 65 seniori.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
# Tuo sys -kirjasto, jotta voimme poistua virhekoodiin.
|
# Tuo sys -kirjasto, jotta voimme poistua virhekoodiin.
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
# Odotetaan käyttäjän mahdollisesti pyrkivän syöttämään muutakin kuin numeroita ja varaudutaan asiaan
|
# Odotetaan käyttäjän mahdollisesti pyrkivän syöttämään muutakin kuin
|
||||||
|
# numeroita ja varaudutaan asiaan
|
||||||
try:
|
try:
|
||||||
# Tallennetaan kokonaislukuna käyttäjältä pyydetty ikä
|
# Tallennetaan kokonaislukuna käyttäjältä pyydetty ikä
|
||||||
ika = int(input("Mikä on ikäsi? "))
|
ika = int(input("Mikä on ikäsi? "))
|
||||||
# Annetaan käyttäjäystävällinen virheilmoitus ja poistutaan virhekoodilla, jos käyttäjä ei syöttänyt numeroita
|
# Annetaan käyttäjäystävällinen virheilmoitus ja poistutaan virhekoodilla,
|
||||||
|
# jos käyttäjä ei syöttänyt numeroita
|
||||||
except ValueError:
|
except ValueError:
|
||||||
print("Syötä ikäsi numeroina!")
|
print("Syötä ikäsi numeroina!")
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
@ -17,7 +21,8 @@ except ValueError:
|
|||||||
# Aloitetaan kokeilemalla onko käyttäjä alle 18.
|
# Aloitetaan kokeilemalla onko käyttäjä alle 18.
|
||||||
if ika < 18:
|
if ika < 18:
|
||||||
print("Olet alaikäinen")
|
print("Olet alaikäinen")
|
||||||
# Jos käyttäjä ei ollut alaikäinen, varmistetaan onko hän 18 ja onko hän alle 65.
|
# Jos käyttäjä ei ollut alaikäinen, varmistetaan onko hän 18 ja onko hän
|
||||||
|
# alle 65.
|
||||||
elif (ika >= 18) and (ika < 65):
|
elif (ika >= 18) and (ika < 65):
|
||||||
print("Olet aikuinen")
|
print("Olet aikuinen")
|
||||||
# Mikäli ikä on 65 tai yli, käyttäjä on seniori.
|
# Mikäli ikä on 65 tai yli, käyttäjä on seniori.
|
@ -24,11 +24,13 @@ def main():
|
|||||||
|
|
||||||
print("Olen", ikani, "-vuotias", nimeni)
|
print("Olen", ikani, "-vuotias", nimeni)
|
||||||
nimi = input("Mikä sinun nimesi on?: ")
|
nimi = input("Mikä sinun nimesi on?: ")
|
||||||
# Odotetaan käyttäjän mahdollisesti pyrkivän syöttämään muutakin kuin numeroita ja varaudutaan asiaan
|
# Odotetaan käyttäjän mahdollisesti pyrkivän syöttämään muutakin kuin
|
||||||
|
# numeroita ja varaudutaan asiaan
|
||||||
try:
|
try:
|
||||||
# Tallennetaan kokonaislukuna käyttäjältä pyydetty ikä
|
# Tallennetaan kokonaislukuna käyttäjältä pyydetty ikä
|
||||||
ika = int(input("Entä kuinka vanha olet? "))
|
ika = int(input("Entä kuinka vanha olet? "))
|
||||||
# Annetaan käyttäjäystävällinen virheilmoitus ja poistutaan virhekoodilla, jos käyttäjä ei syöttänyt numeroita
|
# Annetaan käyttäjäystävällinen virheilmoitus ja poistutaan
|
||||||
|
# virhekoodilla, jos käyttäjä ei syöttänyt numeroita
|
||||||
except ValueError:
|
except ValueError:
|
||||||
print("Syötä ikäsi numeroina!")
|
print("Syötä ikäsi numeroina!")
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
@ -40,7 +42,8 @@ def main():
|
|||||||
# Aloitetaan kokeilemalla onko käyttäjä alle 18.
|
# Aloitetaan kokeilemalla onko käyttäjä alle 18.
|
||||||
if ika < 18:
|
if ika < 18:
|
||||||
print("Olet alaikäinen")
|
print("Olet alaikäinen")
|
||||||
# Jos käyttäjä ei ollut alaikäinen, varmistetaan onko hän 18 ja onko hän alle 65.
|
# Jos käyttäjä ei ollut alaikäinen, varmistetaan onko hän 18 ja onko hän
|
||||||
|
# alle 65.
|
||||||
elif (ika >= 18) and (ika < 65):
|
elif (ika >= 18) and (ika < 65):
|
||||||
print("Olet täysi-ikäinen")
|
print("Olet täysi-ikäinen")
|
||||||
# Mikäli ikä on 65 tai yli, käyttäjä on seniori.
|
# Mikäli ikä on 65 tai yli, käyttäjä on seniori.
|
||||||
@ -51,6 +54,7 @@ def main():
|
|||||||
print("Jokin meni pieleen. Yritä uudelleen.")
|
print("Jokin meni pieleen. Yritä uudelleen.")
|
||||||
|
|
||||||
|
|
||||||
# Jos suoritamme koodia suoraan skriptistä importtauksen sijaan, suoritetaan pääfunktio.
|
# Jos suoritamme koodia suoraan skriptistä importtauksen sijaan, suoritetaan
|
||||||
|
# pääfunktio.
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
main()
|
main()
|
@ -34,13 +34,16 @@ def main():
|
|||||||
elif tkvalinta == "paperi" and valinta == "sakset":
|
elif tkvalinta == "paperi" and valinta == "sakset":
|
||||||
print("Voitit, sakset voittavat paperin")
|
print("Voitit, sakset voittavat paperin")
|
||||||
else:
|
else:
|
||||||
# Tästä tuli vahingossa catch-all virheellisille syötteille, enkä ole varma toteutinko kaikki skenaariot
|
# Tästä tuli vahingossa catch-all virheellisille syötteille, enkä ole
|
||||||
|
# varma toteutinko kaikki skenaariot
|
||||||
print(
|
print(
|
||||||
"Joko tilannetta ei ole vielä toteutettu tai annoit virheellisen syötteen. Ilmoittaisitko ongelman kehittäjälle?",
|
"Joko tilannetta ei ole vielä toteutettu tai annoit \
|
||||||
|
virheellisen syötteen. Ilmoittaisitko ongelman kehittäjälle?"
|
||||||
)
|
)
|
||||||
print("Tietokone valitsi:", tkvalinta, "syötteesi oli", valinta)
|
print("Tietokone valitsi:", tkvalinta, "syötteesi oli", valinta)
|
||||||
|
|
||||||
|
|
||||||
# Jos suoritamme koodia suoraan skriptistä importtauksen sijaan, suoritetaan pääfunktio.
|
# Jos suoritamme koodia suoraan skriptistä importtauksen sijaan, suoritetaan
|
||||||
|
# pääfunktio.
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
main()
|
main()
|
@ -2,12 +2,12 @@
|
|||||||
Sovellus tekee listasta pareja
|
Sovellus tekee listasta pareja
|
||||||
"""
|
"""
|
||||||
|
|
||||||
# Tuodaan paketti tabulate.
|
|
||||||
import tabulate
|
|
||||||
|
|
||||||
# Tarvitaan parien muodostamiseen
|
# Tarvitaan parien muodostamiseen
|
||||||
import random
|
import random
|
||||||
|
|
||||||
|
# Tuodaan paketti tabulate.
|
||||||
|
import tabulate
|
||||||
|
|
||||||
|
|
||||||
# Määritetään pääfunktio
|
# Määritetään pääfunktio
|
||||||
def main():
|
def main():
|
||||||
@ -23,7 +23,8 @@ def main():
|
|||||||
random_names1 = random.sample(nimet, 3)
|
random_names1 = random.sample(nimet, 3)
|
||||||
random_names2 = random.sample(nimet2, 3)
|
random_names2 = random.sample(nimet2, 3)
|
||||||
|
|
||||||
# Luo tuplen, jossa zip yhdistää random_names{1,2} vastaavan kohdan kanssa, jotka sitten laitetaan listaan.
|
# Luo tuplen, jossa zip yhdistää random_names{1,2} vastaavan kohdan
|
||||||
|
# kanssa, jotka sitten laitetaan listaan.
|
||||||
name_pairs = list(zip(random_names1, random_names2))
|
name_pairs = list(zip(random_names1, random_names2))
|
||||||
|
|
||||||
print(name_pairs)
|
print(name_pairs)
|
||||||
@ -38,6 +39,7 @@ def main():
|
|||||||
print(table)
|
print(table)
|
||||||
|
|
||||||
|
|
||||||
# Jos suoritamme koodia suoraan skriptistä importtauksen sijaan, suoritetaan pääfunktio.
|
# Jos suoritamme koodia suoraan skriptistä importtauksen sijaan,
|
||||||
|
# suoritetaan pääfunktio.
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
main()
|
main()
|
@ -13,21 +13,25 @@ def main():
|
|||||||
Pääfunktio.
|
Pääfunktio.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
# Pyydetään käyttäjältä kaksi lukua varautuen siihen, ettei käyttäjä syötä lukuja oikeassa muodossa.
|
# Pyydetään käyttäjältä kaksi lukua varautuen siihen, ettei käyttäjä
|
||||||
|
# syötä lukuja oikeassa muodossa.
|
||||||
try:
|
try:
|
||||||
luku1 = float(input("Anna ensimmäinen luku: "))
|
luku1 = float(input("Anna ensimmäinen luku: "))
|
||||||
luku2 = float(input("Anna toinen luku: "))
|
luku2 = float(input("Anna toinen luku: "))
|
||||||
# Mikäli käyttäjä syöttää jotakin, mitä emme voi muuttaa float:iksi tai int:iksi, annetaan virheilmoitus ja poistutaan virhekoodiin.
|
# Mikäli käyttäjä syöttää jotakin, mitä emme voi muuttaa float:iksi tai
|
||||||
|
# int:iksi, annetaan virheilmoitus ja poistutaan virhekoodiin.
|
||||||
except ValueError:
|
except ValueError:
|
||||||
print("Syötä luku!")
|
print("Syötä luku!")
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
# Tulostetaan laskutoimitukset. Käytetään int siisteyden vuoksi, vaikka uhrataan tuki desimaalien laskemiselle.
|
# Tulostetaan laskutoimitukset. Käytetään int siisteyden vuoksi, vaikka
|
||||||
|
# uhrataan tuki desimaalien laskemiselle.
|
||||||
print(int(luku1), "+", int(luku2), "=", int(luku1 + luku2))
|
print(int(luku1), "+", int(luku2), "=", int(luku1 + luku2))
|
||||||
print(int(luku1), "-", int(luku2), "=", int(luku1 - luku2))
|
print(int(luku1), "-", int(luku2), "=", int(luku1 - luku2))
|
||||||
print(int(luku1), "*", int(luku2), "=", int(luku1 * luku2))
|
print(int(luku1), "*", int(luku2), "=", int(luku1 * luku2))
|
||||||
|
|
||||||
# Varaudutaan siihen, että käyttäjä syöttää luvuksi nollan ja siinä tapauksessa kieltäydytään suorittamasta tehtävää.
|
# Varaudutaan siihen, että käyttäjä syöttää luvuksi nollan ja siinä
|
||||||
|
# tapauksessa kieltäydytään suorittamasta tehtävää.
|
||||||
if luku1 == 0 or luku2 == 0:
|
if luku1 == 0 or luku2 == 0:
|
||||||
print("Nollalla ei voi jakaa.")
|
print("Nollalla ei voi jakaa.")
|
||||||
else:
|
else:
|
||||||
@ -35,6 +39,7 @@ def main():
|
|||||||
print(int(luku1), "/", int(luku2), "=", (luku1 / luku2))
|
print(int(luku1), "/", int(luku2), "=", (luku1 / luku2))
|
||||||
|
|
||||||
|
|
||||||
# Jos suoritamme koodia suoraan skriptistä importtauksen sijaan, suoritetaan pääfunktio.
|
# Jos suoritamme koodia suoraan skriptistä importtauksen sijaan, suoritetaan
|
||||||
|
# pääfunktio.
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
main()
|
main()
|
@ -39,6 +39,7 @@ def main():
|
|||||||
print("Syötä luku!")
|
print("Syötä luku!")
|
||||||
|
|
||||||
|
|
||||||
# Jos suoritamme koodia suoraan skriptistä importtauksen sijaan, suoritetaan pääfunktio.
|
# Jos suoritamme koodia suoraan skriptistä importtauksen sijaan,
|
||||||
|
# suoritetaan pääfunktio.
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
main()
|
main()
|
@ -1,2 +1,2 @@
|
|||||||
# main8.py requires this
|
# muodosta-parityo-parit.py requires this
|
||||||
tabulate
|
tabulate
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
"""
|
"""
|
||||||
Tämä on ensimmäinen Taitotalossa kirjoitettu Python koodi koulutuspäivänä yksi. Se vain tulostaa asioita.
|
Tämä on ensimmäinen Taitotalossa kirjoitettu Python koodi koulutuspäivänä
|
||||||
|
yksi. Se vain tulostaa asioita.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
# Ensimmäinen kommentti
|
# Ensimmäinen kommentti
|
||||||
@ -8,8 +10,8 @@ print("Tervetuloa")
|
|||||||
# toinen kommentti
|
# toinen kommentti
|
||||||
print("esi" + "merkki")
|
print("esi" + "merkki")
|
||||||
|
|
||||||
luku1 = 5
|
LUKU1 = 5
|
||||||
luku2 = 7
|
LUKU2 = 7
|
||||||
|
|
||||||
summa = luku1 + luku2
|
SUMMA = LUKU1 + LUKU2
|
||||||
print("Vastaus", summa)
|
print("Vastaus", SUMMA)
|
@ -29,6 +29,7 @@ def main():
|
|||||||
print()
|
print()
|
||||||
|
|
||||||
|
|
||||||
# Jos suoritamme koodia suoraan skriptistä importtauksen sijaan, suoritetaan pääfunktio.
|
# Jos suoritamme koodia suoraan skriptistä importtauksen sijaan,
|
||||||
|
# suoritetaan pääfunktio.
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
main()
|
main()
|
@ -1,8 +1,12 @@
|
|||||||
# Tuodaan turtle -kirjasto
|
"""
|
||||||
import turtle
|
Tämän skriptin olisi tarkoitus piirtää Suomen lippu turtle-kirjastolla,
|
||||||
|
mutta en koskaan tehnyt siitä valmista.
|
||||||
|
"""
|
||||||
|
|
||||||
|
# Tuodaan turtle -kirjasto
|
||||||
# Satunnaislukuja
|
# Satunnaislukuja
|
||||||
import random
|
# import random
|
||||||
|
import turtle
|
||||||
|
|
||||||
# ikkkuna = turtle.Screen()
|
# ikkkuna = turtle.Screen()
|
||||||
|
|
||||||
@ -49,37 +53,37 @@ turtle.showturtle()
|
|||||||
|
|
||||||
|
|
||||||
# Piirretään suorakulmio
|
# Piirretään suorakulmio
|
||||||
vaaka = 300
|
VAAKA = 300
|
||||||
pysty = 200
|
PYSTY = 200
|
||||||
#
|
#
|
||||||
turtle.forward(vaaka)
|
turtle.forward(VAAKA)
|
||||||
turtle.left(90)
|
turtle.left(90)
|
||||||
turtle.forward(pysty)
|
turtle.forward(PYSTY)
|
||||||
#
|
#
|
||||||
turtle.left(90)
|
turtle.left(90)
|
||||||
turtle.forward(vaaka)
|
turtle.forward(VAAKA)
|
||||||
#
|
#
|
||||||
turtle.left(90)
|
turtle.left(90)
|
||||||
turtle.forward(pysty)
|
turtle.forward(PYSTY)
|
||||||
turtle.left(90)
|
turtle.left(90)
|
||||||
|
|
||||||
# Piirretään risti
|
# Piirretään risti
|
||||||
turtle.forward(vaaka / 2)
|
turtle.forward(VAAKA / 2)
|
||||||
turtle.left(90)
|
turtle.left(90)
|
||||||
turtle.forward(pysty / 3)
|
turtle.forward(PYSTY / 3)
|
||||||
|
|
||||||
turtle.right(90)
|
turtle.right(90)
|
||||||
turtle.forward(vaaka / 3)
|
turtle.forward(VAAKA / 3)
|
||||||
turtle.left(90)
|
turtle.left(90)
|
||||||
|
|
||||||
turtle.forward(vaaka / 5)
|
turtle.forward(VAAKA / 5)
|
||||||
turtle.left(90)
|
turtle.left(90)
|
||||||
turtle.forward(vaaka / 3)
|
turtle.forward(VAAKA / 3)
|
||||||
|
|
||||||
turtle.right(90)
|
turtle.right(90)
|
||||||
turtle.forward(vaaka / 3)
|
turtle.forward(VAAKA / 3)
|
||||||
|
|
||||||
# turtle.forward(pysty / 3)
|
# turtle.forward(PYSTY / 3)
|
||||||
|
|
||||||
# Pidetään ikkuna auki
|
# Pidetään ikkuna auki
|
||||||
turtle.mainloop()
|
turtle.mainloop()
|
@ -1,10 +1,12 @@
|
|||||||
"""
|
"""
|
||||||
Sovellus pyytää käyttäjältä nimen, sekä viestin ja tulostaa viestin kolmesti.
|
Sovellus pyytää käyttäjältä nimen, sekä viestin ja tulostaa viestin kolmesti.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
# Pyydetään käyttäjältä nimi ja viesti, tallennetaan samannimisiin muuttujiin
|
# Pyydetään käyttäjältä nimi ja viesti, tallennetaan samannimisiin muuttujiin
|
||||||
nimi = input("Nimi: ")
|
nimi = input("Nimi: ")
|
||||||
viesti = input("Viesti: ")
|
viesti = input("Viesti: ")
|
||||||
|
|
||||||
# Tulostetaan nimi ja kolmesti viesti rivinvaihdolla. Lopuksi poistetaan rivinvaihto ja erotin tulostuksesta
|
# Tulostetaan nimi ja kolmesti viesti rivinvaihdolla. Lopuksi poistetaan
|
||||||
|
# rivinvaihto ja erotin tulostuksesta
|
||||||
print(nimi, " sanoo:\n", (viesti + "\n") * 3, end="", sep="")
|
print(nimi, " sanoo:\n", (viesti + "\n") * 3, end="", sep="")
|
@ -1 +1 @@
|
|||||||
Subproject commit 074a2a87fb14702ed42615b1246011295ab3b53b
|
Subproject commit 73572f12945caee1de71f25cb400ea2764fc62b5
|
Loading…
x
Reference in New Issue
Block a user