Melyek azok a napok, dátumok az évben, amelyekre nem esik női névnap?
Azt hiszem, hogy részben megoldottam a feladatot Pythonban. Az egyszerűség kedvéért a női nevek helyett azok napjait adtam a listához.
#-------------------------------------------------------------------------------
# Name: Names
# Author: CalmoSoft#
# Created: 09.11.2021
# Copyright: (c) CalmoSoft 2021
# Licence: <your licence>
#-------------------------------------------------------------------------
Names = ["január 21","február 19","november 19","november 26"]
Months = ["január","február","március","április","május","június",
"július","augusztus","szeptember","október","november","december"]
LenMonths = [31,28,31,30,31,30,31,31,30,31,30,31]
Days = []
BadDays = []
for n in range(0,len(Months)):
for m in range(1,LenMonths[n]+1):
year = Months[n] + " " + str(m)
Days.append(year)
for n in range(0,len(Days)):
flag = 0
for m in range(0,len(Names)):
if (Days[n] == Names[m]):
flag = 1
if (flag == 0):
BadDays.append(Days[n])
print(BadDays)
#-------------------------------------------------------------------------
Szerintem csak a női neveket kellene kigyűjteni egy listába (aktuálisan anyakönyvezhető női nevek) aztán a dátumokról és hozzájuk tartozó női nevekről egy listát, hogy mikor vannak ezek.
Aztán: ha adott névre az anyakönyvezhető női nevek listájából nem esik névnap, de a név szerepel a listában, akkor női névnap - függetlenül attól, egyébként pedig a dátumot kiírni hogy "erre a napra nem esik női névnap"
Ha billentyűzetről is bekérhető név, ez arra az esetre is jó.
Íme a feladat megoldása Pythonban:
_________________________________________________________________
Names = [["Ágnes","január 21"],["Zsuzsanna","február 19"],
["Erzsébet","november 19"],["Katalin","november 26"]]
Months = ["január","február","március","április","május","június",
"július","augusztus","szeptember","október","november","december"]
LenMonths = [31,28,31,30,31,30,31,31,30,31,30,31]
Days = []
BadDays = []
for n in range(len(Months)):
for m in range(1,LenMonths[n]+1):
year = Months[n] + " " + str(m)
Days.append(year)
for n in range(0,len(Days)):
flag = 0
for m in range(len(Names)):
if (Days[n] == Names[m][1]):
flag = 1
if (flag == 0):
BadDays.append(Days[n])
print(BadDays)
_________________________________________________________________
Íme a javított verzió Pythonban. Szívesen venném ha tesztelnétek. PyScripter-rel írtam.
-----------------------------------------------------------------
Names = [["Ágnes","január 21"],["Zsuzsanna","február 19"],
["Erzsébet","november 19"],["Katalin","november 26"]]
Months = ["január","február","március","április","május","június",
"július","augusztus","szeptember","október","november","december"]
LenMonths = [31,28,31,30,31,30,31,31,30,31,30,31]
Days = []
BadDays = []
for n in range(len(Months)):
for m in range(LenMonths[n]):
year = Months[n] + " " + str(m+1)
Days.append(year)
for n in range(len(Days)):
flag = 0
for m in range(len(Names)):
if (Days[n] == Names[m][1]):
flag = 1
if (flag == 0):
BadDays.append(Days[n])
print(BadDays)
-----------------------------------------------------------------
Elnézést, hogy mindig új verziót közlök, de kezdő vagyok Pythonban, így gyakran jövök rá egyszerűbb, logikusabb megoldásra. A mostani verzió formattálva írja ki a dátumokat (minden új honap előtt sortörés van)
-----------------------------------------------------------------
Names = [["Ágnes","január 21"],["Zsuzsanna","február 19"],
["Erzsébet","november 19"],["Katalin","november 26"]]
Months = ["január","február","március","április","május","június",
"július","augusztus","szeptember","október","november","december"]
LenMonths = [31,28,31,30,31,30,31,31,30,31,30,31]
Days = []
BadDays = []
for n in range(len(Months)):
for m in range(LenMonths[n]):
year = Months[n] + " " + str(m+1)
Days.append(year)
for n in range(len(Days)):
flag = 0
for m in range(len(Names)):
if (Days[n] == Names[m][1]):
flag = 1
if (flag == 0):
BadDays.append(Days[n])
for n in range(0,len(BadDays)):
x1 = BadDays[n]
x2 = x1[0:3]
y1 = BadDays[n-1]
y2 = y1[0:3]
if (x2 != y2):
print()
print(BadDays[n], end = ', ')
-----------------------------------------------------------------
A formattált Python kódot innen tudod letölteni (Names.py):
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!