PDA

View Full Version : تابع مشخص کردن روز و ماه سال



saeed7474
جمعه 19 دی 1393, 15:49 عصر
سلام
روز بخیر
یک عدد به برنامه بدیم و مشخص کنه که در کدام ماه از سال هست و چه روزی از ماه

Matplotlib
جمعه 19 دی 1393, 19:22 عصر
سلام.

با استاده از enumerate به راحتی میشه (حتی شاید بدون اون)

این کد به نظرم رسید (البته سال عادی نه کبیسه):


date=input("\nEnter day number: ")
mah=["Farvardin","Ordibehesht","Khordad","Tir","Mordad","Shahrivar","Mehr","Aban","Azar","Dey","Bahman","Esfand"]
num=[31,62,93,124,155,186,216,246,276,306,336,365]
for i,j in enumerate(num):
if date<j:
if i==0: print "\nMah: %s, Rooz: %s" % (mah[i],date-num)
else: print "\nMah: %s, Rooz: %s" % (mah[i],date-num[i-1])
break

saeed7474
جمعه 19 دی 1393, 20:15 عصر
سلام.

با استاده از enumerate به راحتی میشه (حتی شاید بدون اون)

این کد به نظرم رسید (البته سال عادی نه کبیسه):


date=input("\nEnter day number: ")
mah=["Farvardin","Ordibehesht","Khordad","Tir","Mordad","Shahrivar","Mehr","Aban","Azar","Dey","Bahman","Esfand"]
num=[31,62,93,124,155,186,216,246,276,306,336,365]
for i,j in enumerate(num):
if date<j:
if i==0: print "\nMah: %s, Rooz: %s" % (mah[i],date-num)
else: print "\nMah: %s, Rooz: %s" % (mah[i],date-num[i-1])
break



مرسی خیلی ممنون

if date < j:
TypeError: unorderable types: str() < int()
اینپوت date رو داخل int میذارم بازم ارور میگیره
لطفا اساتید یه بررسی بکنید


print ("\nMah: %s, Rooz: %s" % (mah[i],date-num))
TypeError: unsupported operand type(s) for -: 'int' and 'list'

Matplotlib
جمعه 19 دی 1393, 21:08 عصر
من اشتباهی کردم... کد به این صورت میشه:



date=input("\nEnter day number: ")
mah=["Farvardin","Ordibehesht","Khordad","Tir","Mordad" ,"Shahrivar","Mehr","Aban","Azar","Dey","Bahman"," Esfand"]
num=[31,62,93,124,155,186,216,246,276,306,336,365]
for i,j in enumerate(num):
if date==j:
if i==0: print "\nMah: %s, Rooz: %s" % (mah[i],date)
else: print "\nMah: %s, Rooz: %s" % (mah[i],date-num[i-1])
break
elif date<j:
print "\nMah: %s, Rooz: %s" % (mah[i],num[i-1])
break

saeed7474
جمعه 19 دی 1393, 21:51 عصر
TypeError: unorderable types: str() < int()

Matplotlib
جمعه 19 دی 1393, 22:09 عصر
من کد رو در قالب فایل .py ذخیره کردم (شاید از اینحا کپی میکنید مشکلی ب وجود میاد)
اگر پایتون روی سیستمتون نصب هست توی cmd ران کنید فایل .py رو.
127420

saeed7474
جمعه 19 دی 1393, 22:26 عصر
نه کد شما درسته
فکر کنم چون پایتون بنده 3.4.2 هست به این مشکل بر میخوره
مثلا پرینت ها که در کد نوشتین باید حتما در () قرار بگیره وگرنه ارور میده

Matplotlib
جمعه 19 دی 1393, 22:30 عصر
آهان.. بله من تو 2.7 مینویسم بنا به دلایلی... شما دلیل خاصی داره تو پایتون 3 مینویسید؟

saeed7474
جمعه 19 دی 1393, 23:31 عصر
آهان.. بله من تو 2.7 مینویسم بنا به دلایلی... شما دلیل خاصی داره تو پایتون 3 مینویسید؟

خیر تنها دلیلش اپدیت بودن هست که متاسفانه مشکلاتی داره
مثلا کتاب ها اکثرا کدهاشون به سبک قدیمی هست، تمرینات و.. که همه باید اصلاح بشه

Matplotlib
جمعه 19 دی 1393, 23:53 عصر
به هر حال شاید این به کارتون بیاد.. یه نگاهی بندازید.

https://docs.python.org/2/library/2to3.html

موفق باشید.