[原创]Ruby学习笔记(4)-闰年、季节和月份天数的Ruby版和Python版

本文提供了使用Python和Ruby实现的程序示例,用于判断输入的年份是否为闰年、所属季节及该月的天数。涉及流程控制、数据类型等编程特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

            这是一个我在Delphi、C#和VB.NET教学中经常让学生做的一个例子:输入年份和月份,判断该年是否是闰年;判断该月属于什么季节;该月有多少天。练习对语言的特性的掌握,诸如流程控制、数据类型、输入输出、函数等等。下面是这个问题的Python和Ruby版本。
            Python:
None.gifimport sys
None.gif
def IsLeapYear(y):
None.gif    
if ((y % 4==0)and(y % 100!=0))or(y % 400==0):
None.gif        
return True
None.gif    
else:
None.gif        
return False
None.gif
None.gif
def Season(m):
None.gif    
if m in [12,1,2]:
None.gif        
return "winter"
None.gif    
elif m in [3,4,5]:
None.gif        
return "spring"
None.gif    
elif m in [6,7,8]:
None.gif        
return "summer"
None.gif    
elif m in [9,10,11]:
None.gif        
return "autumn"
None.gif    
else:
None.gif        
return "error"
None.gif        
None.gif
def Days(y,m):
None.gif    
if m in [1,3,5,7,8,10,12]:
None.gif        
return 31
None.gif    
if m in [4,6,9,11]:
None.gif        
return 30
None.gif    
if m==2:
None.gif        
if IsLeapYear(y)==True:
None.gif            
return 29
None.gif        
else:
None.gif            
return 28
None.gif
None.gif
None.gif
print "Please input year:"
None.gifyear
=int(sys.stdin.readline(),10)
None.gif
print "Please input month:"
None.gifmonth
=int(sys.stdin.readline(),10)
None.gif
if IsLeapYear(year)==True:
None.gif    
print "This is Leap year!\n"
None.gif
else:
None.gif    
print "This is not Leap year!\n"
None.gif
print "%d is in %s\n" %(month,Season(month))
None.gif
print "%d has %d days\n" %(month,Days(year,month))
None.gifsys.stdin.readline()

            Ruby:
None.gif#LeapYear,Season,DaysOfMonth
None.gif

None.gif
def IsLeapYear(y)
None.gif    
if ((y % 4==0)and(y % 100!=0))or(y % 400==0)
None.gif        
1
None.gif    
else
None.gif        0
None.gif    end
None.gifend
None.gif
None.gif
def Season(m)
None.gif    case m
None.gif        when 
12,1,2
None.gif            
"winter"
None.gif        when 
3,4,5
None.gif            
"spring"
None.gif        when 
6,7,8
None.gif            
"summer"
None.gif        when 
9,10,11
None.gif            
"autumn"
None.gif        
else
None.gif            
"error"
None.gif    end
None.gifend
None.gif        
None.gif
def Days(y,m)
None.gif    case m
None.gif        when 
1,3,5,7,8,10,12
None.gif            
31
None.gif        when 
4,6,9,11
None.gif            
30
None.gif        when 
2
None.gif            
if IsLeapYear(y)==1
None.gif                
29
None.gif            
else
None.gif                
28
None.gif            end
None.gif    end
None.gifend
None.gif
None.gif
print "Please input year:"
None.gifyear
=readline.to_i
None.gif
print "Please input month:"
None.gifmonth
=readline.to_i
None.gif
None.gif
if IsLeapYear(year)==1
None.gif    
print "This is Leap year!\n"
None.gif
else
None.gif    
print "This is not Leap year!\n"
None.gifend
None.gif
None.gif
print "#{month} is in #{Season(month)}\n"
None.gif
print "#{month} has #{Days(year,month)} days\n" 
None.gifreadline()

转载于:https://www.cnblogs.com/jplee/archive/2006/10/15/529391.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值