編程俗語3
#include <stdio.h>
#define MAX 100
#define leap(y) (y%4==0 && y%100!=0 || y%400==0)
struct d{int y,m,d;};
long days(struct d d1,struct d d2)
{
int mon[2][13]= {{0,31,28,31,30,31,30,31,31,30,31,30,31},
{0,31,29,31,30,31,30,31,31,30,31,30,31}};
int i; long td=0;
for(i=d1.y;i<d2.y;i++)
td+=leap(i)?366:365;
for(i=1;i<d1.m;i++)
td-=mon[leap(d1.y)][i];
td-=d1.d-1;
for(i=1;i<d2.m;i++)
td+=mon[leap(d2.y)][i];
td+=d2.d-1;
return td;
}
int main()
{
struct d now[MAX],start={1990,1,1};
int n,i,day;
scanf("%d",&n);
for(i=0;i<n;++i)
{
scanf("%d%d%d",&now[i].y,&now[i].m,&now[i].d);
}
for(i=0;i<n;++i)
{
day=days(start,now[i]);
if(day%5<3)
printf("He was fishing on %d %d %d\n",now[i].y,now[i].m,now[i].d);
else
printf("He was basking on %d %d %d\n",now[i].y,now[i].m,now[i].d);
}
return 0;
}
Ⅱ Python中的多態和多態性指的是什麼
Python是一種純粹的面向對象語言。面向對象編程中的四大特徵分別是:抽象、封裝、繼承和多態。多態根據上下文,對象可以採用多種形式。程序將確定該對象每次執行所需的含義或用法,從而減少了重復代碼。
我國有句俗語:「龍生九子,各有不同」。這就是多態。多態是同一類事物具有的多種形態。多態是面向對象編程的重要特點之一。
Python本身就是一種多態語言:
上述程序中,調用Func()函數為同一個操作,但調用的參數是不同的,即調用了不同的實例作為參數。由運行結果可知,有不同的類創建不同的實例,以不同的實例作為參數時,調用talk()得到的列印結果是不同的,這是因為每個實例具有不同的實現方式,這就是多態性的體現。
多態性是同一個操作因作用實例不同而表現出不同實現方式的特性。多態性增加了程序的靈活性,以不變應萬變,無論實例千變萬化,使用者都是以同一種形式去調用;多態性還增加了程序可擴展性,通過繼承創建新的類,子類可以使用父類的方法,也可以使用自己重寫的方法。
關於Python的基礎問題可以看下這個網頁的視頻教程,網頁鏈接,希望我的回答能幫到你。