LoginSignup
9
16

More than 3 years have passed since last update.

[Python] Python文法のサンプルコード

Last updated at Posted at 2020-10-23

はじめに

Pythonの勉強のために以下のようなプログラムを書きましたが、
もっと効率的な書き方があると考えているので、
有識者の方々の意見が聞きたく記事にしました。
もっと行数短く書けるよ!っていう有識者の方々、是非ともコメント頂きたいです。

和暦変換

和暦変換
# 年数(西暦)で入力
year = int(input())

Syear  = [1868, 1912, 1926, 1989, 2019, 9999]
wareki = ['明治', '大正', '昭和', '平成', '令和', '']

i = 0

# 和暦変換
while Syear[i] <= year:
   Wyear = year - Syear[i] + 1
   Wname = wareki[i]
   i += 1

# 出力
print(str(year) + '年は' + Wname + str(Wyear) + '年')

年齢判定

年齢判定
import datetime

# 生年月日(西暦)を入力
Tymd = input()

# 年月日に分割
param  = Tymd.split('/')
Tyear  = int(param[0])
Tmonth = int(param[1])
Tday   = int(param[2])

# 現在の日付を取得
Today = datetime.datetime.now()
year  = Today.year
month = Today.month
day   = Today.day

# 年齢計算
age = int(year) - int(Tyear)
if int(month) < int(Tmonth):
    age -= 1
else:
    if month == Tmonth:
        if day < Tday:
            age -= 1

# 出力
print(Tymd + 'の人は' + str(age) + '歳')

曜日判定

曜日判定
import math

# 入力値(例: 1997/9/11)をうけとる
x = input()

# 入力値を年月日に分割
y     = x.split('/')
year  = int(y[0])
month = int(y[1])
day   = int(y[2])

# 出力
print(str(year) + '年' + str(month) + '月' + str(day) + '日は', end = '')

if month < 3:
    month = month + 12
    year  = year - 1

# 曜日を求める
weekday = (year + math.floor(year / 4) - math.floor(year / 100) + math.floor(year / 400) + math.floor((13*month+8) / 5) + day) % 7
week    = ['日', '月', '火', '水', '木', '金','土']

# 出力
print(str(week[weekday]) + '曜日です')

複数桁の桁分解

複数桁の桁分解
# 入力値をうけとる
x = int(input())

num = []

# 1桁ごとに分解
while x > 0:
    num.append(x % 10)
    x //= 10
num.reverse()

# 出力
for i in range(len(num)):
 print(num[i], end = ' ')

閏年判定

閏年判定
# 年数(西暦)を入力
year = int(input())

# 閏年判定
if year % 4 == 0:
    if year % 100 == 0:
        if year % 400 == 0:
            print(str(year) + '年は閏年')
        elif year % 400 != 0:
            print(str(year) + '年は閏年ではない')
    else:
        print(str(year) + '年は閏年')
else:
    print(str(year) + '年は閏年ではない')

干支判定

干支判定
# 年数(西暦)を入力
year = int(input())

# 全干支
Alleto = ["申(さる)", "酉(とり)", "戌(いぬ)", "亥(いのしし)", "子(ねずみ)"
            , "牛(うし)", "寅(とら)", "卯(うさぎ)", "辰(たつ)", "巳(へび)", "午(うま)", "未(ひつじ)"]

# 干支判定&出力
print(str(year) + '年の干支は' + Alleto[year % 12])

素数判定

素数判定
# 2以上の数値を入力
num=int(input())

# 0: 素数
# 1: 素数ではない
sosu = 0

# 素数判定
for i in range(2, num):
    if num % i == 0:
        sosu = 1
        break

# 出力
if sosu == 0:        
    print(str(num) + 'は素数である')
elif sosu == 1:
    print(str(num) + 'は素数ではない')
9
16
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
16