vs2008中文版下载-光盘无法自动播放

18013820100
2023年4月4日发(作者:node能做什么)

个⼈的python做题记录(三)

【题⽬描述-1】

L1-024后天

如果今天是星期三,后天就是星期五;如果今天是星期六,后天就是星期⼀。我们⽤数字1到7对应星期⼀到星期⽇。给定某⼀天,请

你输出那天的“后天”是星期⼏。

输⼊格式:

输⼊第⼀⾏给出⼀个正整数D(1≤D≤7),代表星期⾥的某⼀天。

输出格式:

在⼀⾏中输出D天的后天是星期⼏。

输⼊样例:

3

输出样例:

5

【题⽬描述-2】

L1-028判断素数

本题的⽬标很简单,就是判断⼀个给定的正整数是否素数。输⼊格式:输⼊在第⼀⾏给出⼀个正整数N(≤10),随后N⾏,每⾏

给出⼀个⼩于231的需要判断的正整数。

输出格式:

对每个需要判断的正整数,如果它是素数,则在⼀⾏中输出Yes,否则输出No。

输⼊样例:

2

11

111

输出样例:

Yes

No

【个⼈思路】

求数的所有因⼦,根据因⼦个数判断该数是否为素数。

1D=int(input('输⼊正整数D(1≤D≤7),代表星期⾥的某⼀天:'))

2day=[0,1,2,3,4,5,6,7,1,2]

3print(day[D+2])

【题⽬描述-3】

L1-031到底是不是太胖了

据说⼀个⼈的标准体重应该是其⾝⾼(单位:厘⽶)减去100、再乘以0.9所得到的公⽄数。真实体重与标准体重误差在10%以内都

是完美⾝材(即|真实体重−标准体重|<标准体重×10%)。已知市⽄是公⽄的两倍。现给定⼀群⼈的⾝⾼和实际体重,请你告

诉他们是否太胖或太瘦了。

输⼊格式:

输⼊第⼀⾏给出⼀个正整数N(≤20)。随后N⾏,每⾏给出两个整数,分别是⼀个⼈的⾝⾼H(120

和真实体重W(50

输出格式:

为每个⼈输出⼀⾏结论:如果是完美⾝材,输出Youarewanmei!;如果太胖了,输出Youaretaipangle!;否则输出Youare

taishoule!。

输⼊样例:

3

169136

15081

178155

输出样例:

Youarewanmei!

Youaretaishoule!

Youaretaipangle!

1importmath

2N=int(input())

3num=[]

4foriinrange(0,N):

(int(input()))

6forninnum:

7ifn==1:

8#print('NO')注意⼤⼩写

9print('No')

10else:

11i=1

12lst=[]#存放因⼦

13whilei<=(n):

14ifn%i==0:#求因⼦

(i)

16i+=1

17iflen(lst)==1:#此处因⼦有且仅为1<--素数

18print('Yes')

19else:

20print('No')

【题⽬描述-4】

1"""答案正确"""

2N=int(input())

3H_list=[]

4W_list=[]

5foriinrange(0,N):

6H,W=map(int,input().split())

7H_(H)

8W_(W)

9foriinrange(0,N):

10standard_W=(H_list[i]-100)*0.9*2

11ifabs(W_list[i]-standard_W)

12print('Youarewanmei!')

13elifW_list[i]<=standard_W:

14print('Youaretaishoule!')

15elifW_list[i]>=standard_W:

16print('Youaretaipangle!')

1"""提交结果:7分,部分正确"""

2N=int(input())

3H_list=[]

4W_list=[]

5foriinrange(0,N):

6H,W=map(int,input().split())

7H_(H)

8W_(W)

9foriinrange(0,N):

10standard_W=(H_list[i]-100)*0.9*2

11#ifabs(W-standard_W)

12#print('Youarewanmei!')

13ifabs(W_list[i]-standard_W)

14print('Youarewanmei!')

15ifW_list[i]<=standard_W*0.9:

16print('Youaretaishoule!')

17ifW_list[i]>=standard_W*1.1:

18print('Youaretaipangle!')

19

20"""有点懵"""

L1-018⼤笨钟

微博上有个⾃称“⼤笨钟V”的家伙,每天敲钟催促码农们爱惜⾝体早点睡觉。不过由于笨钟⾃⼰作息也不是很规律,所以敲钟并不

定时。⼀般敲钟的点数是根据敲钟时间⽽定的,如果正好在某个整点敲,那么“当”数就等于那个整点数;如果过了整点,就敲下⼀

个整点数。另外,虽然⼀天有24⼩时,钟却是只在后半天敲1~12下。例如在23:00敲钟,就是“当当当当当当当当当当当”,⽽到

了23:01就会是“当当当当当当当当当当当当”。在午夜00:00到中午12:00期间(端点时间包括在内),笨钟是不敲的。

下⾯就请你写个程序,根据当前时间替⼤笨钟敲钟。

输⼊格式:

输⼊第⼀⾏按照hh:mm的格式给出当前时间。其中hh是⼩时,在00到23之间;mm是分钟,在00到59之间。

输出格式:

根据当前时间替⼤笨钟敲钟,即在⼀⾏中输出相应数量个Dang。如果不是敲钟期,则输出:Onlyhh:lytoDang.(其

中hh:mm是输⼊的时间。)

输⼊样例1:

19:05

输出样例1:

DangDangDangDangDangDangDangDang

输⼊样例2:

07:05

输出样例2:

Only07:lytoDang.

【个⼈思路】

⽤if判断时间。

【题⽬描述-5】

1hh,mm=input().split(sep=':')

2

3if(

4(0<=int(hh)<=11and0<=int(mm)<=59)

5or

6(int(hh)==12andint(mm)==0)

7):

8

9print(f"Only{hh}:{mm}.TooearlytoDang.")

10else:

11ifmm=='00':

12print("Dang"*(int(hh)-12))#*重复输出次数

13else:

14print("Dang"*(int(hh)-11))

L1-017到底有多⼆

⼀个整数“犯⼆的程度”定义为该数字中包含2的个数与其位数的⽐值。如果这个数是负数,则程度增加0.5倍;如果还是个偶数,则

再增加1倍。例如数字-是个11位数,其中有3个2,并且是负数,也是偶数,则它的犯⼆程度计算为:

3/11×1.5×2×100%,约为81.82%。

本题就请你计算⼀个给定整数到底有多⼆。

输⼊格式:

输⼊第⼀⾏给出⼀个不超过50位的整数N。

输出格式:

在⼀⾏中输出N犯⼆的程度,保留⼩数点后两位。

输⼊样例:

-

输出样例:

81.82%

【个⼈思路】

“2的个数与其位数的⽐值”(注意百分号的实现)。

【题⽬描述-6】

1N=input()

2extent=1.0

3length=len(N)

4ifint(N)<0:

5extent+=0.5

6length=len(N)-1

7ifint(N)%2==0:

8extent*=2

9count=0

10foriinN:

11ifi=='2':

12count+=1

13result=count/length*extent*100

14print("%.2f%%"%result)#百分号的实现

L1-030⼀帮⼀

“⼀帮⼀学习⼩组”是中⼩学中常见的学习组织⽅式,⽼师把学习成绩靠前的学⽣跟学习成绩靠后的学⽣排在⼀组。

本题就请你编写程序帮助⽼师⾃动完成这个分配⼯作,即在得到全班学⽣的排名后,在当前尚未分组的学⽣中,将名次最靠前的学⽣

与名次最靠后的异性学⽣分为⼀组。

输⼊格式:

输⼊第⼀⾏给出正偶数N(≤50),即全班学⽣的⼈数。此后N⾏,按照名次从⾼到低的顺序给出每个学⽣的性别(0代表⼥⽣,1代

表男⽣)和姓名(不超过8个英⽂字母的⾮空字符串),其间以1个空格分隔。

这⾥保证本班男⼥⽐例是1:1,并且没有并列名次。

输出格式:

每⾏输出⼀组两个学⽣的姓名,其间以1个空格分隔。名次⾼的学⽣在前,名次低的学⽣在后。⼩组的输出顺序按照前⾯学⽣的名次

从⾼到低排列。

输⼊样例:

8

0Amy

1Tom

1Bill

0Cindy

0Maya

1John

1Jack

0Linda

输出样例:

AmyJack

TomLinda

BillMaya

CindyJohn

【个⼈思路】

⾸先:⽤⼀个列表存放性别(sex),⼀个列表存放名字(name),⼀个学⽣的信息(sex和name)在两个列表中的索引相同。

其次:遍历输出。

forainname_list[::1]:从前⾯头部开始遍历

forbincopy_name_list[::-1]:从后⾯尾部开始遍历

当sex_1!=sex_2时,判定为“异性”,找到对应的两名学⽣,然后输出。

注意:这⾥我⽤copy函数,copy_name_list=name_(),当copy_name_(b)时不会影响name_list。

(⽤remove移除,这样才不会影响下次遍历)

【题⽬描述-7】

1N=int(input())

2sex_list=[]

3name_list=[]

4foriinrange(0,N):

5sex,name=input().split()

6sex_(sex)

7name_(name)

8flag=0

9#copy_name_list=name_list

10#print(id(copy_name_list),id(name_list))#id⼀样(共有)

11copy_name_list=name_()#这⾥⽤copy函数,来“创建⼀个新对象”,有⼀个新id

12forainname_list[::1]:

13forbincopy_name_list[::-1]:

14ifsex_list[name_(a)]!=sex_list[name_(b)]:

15print(f'{a}{b}')

16flag+=2

17#delb

18copy_name_(b)

19#不⽤copy函数时,这⾥将name_list⾥⾯的b同时移除了相当于copy_name_list与name_list是同⼀个东西

20break

21ifflag==len(name_list):

22break

L1-027出租

下⾯是新浪微博上曾经很⽕的⼀张图:(此处省略)

⼀时间⽹上⼀⽚求救声,急问这个怎么破。其实这段代码很简单,index数组就是arr数组的下标,index[0]=2对应

arr[2]=1,index[1]=0对应arr[0]=8,index[2]=3对应arr[3]=0,以此类推……很容易得到电话号码是。

本题要求你编写⼀个程序,为任何⼀个电话号码⽣成这段代码——事实上,只要⽣成最前⾯两⾏就可以了,后⾯内容是不变的。

输⼊格式:

输⼊在⼀⾏中给出⼀个由11位数字组成的⼿机号码。

输出格式:

为输⼊的号码⽣成代码的前两⾏,其中arr中的数字必须按递减顺序给出。

输⼊样例:

输出样例:

int[]arr=newint[]{8,3,2,1,0};

int[]index=newint[]{3,0,4,3,1,0,2,4,3,4,4};

【个⼈思路】

⾸先:关于第⼀⾏要输出的内容。int[]arr=newint[]{8,3,2,1,0};“arr中的数字必须按递减顺序给出”。

我这⾥⽤了多个if语句,if'2'intel:(2),并且利⽤了“代码从上往下执⾏”(顺序结构)的⼩技巧,完成“⼿机号码

中存在的不同数字的排序”(完成arr)。

其次:关于第⼆⾏要输出的内容。int[]index=newint[]{3,0,4,3,1,0,2,4,3,4,4};“index数组就是arr数组的下标”。

我这⾥⽤((int(i)))#找“索引”

最后就是注意按照题⽬要求的格式来输出。

【题⽬描述-8】

L1-023输出GPLT

给定⼀个长度不超过10000的、仅由英⽂字母构成的字符串。请将字符重新调整顺序,按GPLTGPLT....这样的顺序输出,并忽略其

它字符。当然,四种字符(不区分⼤⼩写)的个数不⼀定是⼀样多的,若某种字符已经输出完,则余下的字符仍按GPLT的顺序打

印,直到所有字符都被输出。

输⼊格式:

输⼊在⼀⾏中给出⼀个长度不超过10000的、仅由英⽂字母构成的⾮空字符串。

输出格式:

在⼀⾏中按题⽬要求输出排序后的字符串。题⽬保证输出⾮空。

输⼊样例:

pcTclnGloRgLrtLhgljkLhGFauPewSKgt

输出样例:

GPLTGPLTGLTGLGLL

【个⼈思路】

1tel=input()

2arr=[]

3index=[]

4if'9'intel:#注意这⼏个if语句的上下顺序

(9)

6if'8'intel:

(8)

8if'7'intel:

(7)

10if'6'intel:

(6)

12if'5'intel:

(5)

14if'4'intel:

(4)

16if'3'intel:

(3)

18if'2'intel:

(2)

20if'1'intel:

(1)

22if'0'intel:

(0)

24

25foriintel:

((int(i)))#找“索引”

27

28arr=str(arr)

29arr=arr[1:-1].replace('','')#arr[1:-1]表⽰不包括[]这两个外部的括号

30

31index=str(index)

32index=index[1:-1].replace('','')#replace('','')去掉字符串内部的空格,以满⾜输出格式

33

34print('int[]arr=newint[]{%s};'%arr)

35print('int[]index=newint[]{%s};'%index)

⾸先,

ifstring[i]notin['g','p','l','t','G','P','L','T']:

string=e(string[i],'')

把字符串变成只含有⽬标字符。

其次,将字符串⼤写之后,统计四种字符的数量。

最后,循环输出。

我这⾥⽤while循环,利⽤顺序结构来print输出。当字符数量!=0时,⼀直输出。

【未完成题⽬】

【题⽬描述-9】

1string=(input())

2i=0

3whilei

4ifstring[i]notin['g','p','l','t','G','P','L','T']:

5string=e(string[i],'')

6else:

7i+=1

8string=()

9G_count=('G')

10P_count=('P')

11L_count=('L')

12T_count=('T')

13whileTrue:

14ifG_count!=0:

15print('G',end='')

16G_count-=1

17ifP_count!=0:

18print('P',end='')

19P_count-=1

20ifL_count!=0:

21print('L',end='')

22L_count-=1

23ifT_count!=0:

24print('T',end='')

25T_count-=1

26ifmax(G_count,P_count,L_count,T_count)==0:

27break

28print()

L1-019谁先倒

划拳是古⽼中国酒⽂化的⼀个有趣的组成部分。酒桌上两⼈划拳的⽅法为:每⼈⼝中喊出⼀个数字,同时⽤⼿⽐划出⼀个数字。如果

谁⽐划出的数字正好等于两⼈喊出的数字之和,谁就输了,输家罚⼀杯酒。两⼈同赢或两⼈同输则继续下⼀轮,直到唯⼀的赢家出

现。

下⾯给出甲、⼄两⼈的酒量(最多能喝多少杯不倒)和划拳记录,请你判断两个⼈谁先倒。输⼊格式:

输⼊第⼀⾏先后给出甲、⼄两⼈的酒量(不超过100的⾮负整数),以空格分隔。下⼀⾏给出⼀个正整数N(≤100),随后N⾏,

每⾏给出⼀轮划拳的记录,

格式为:甲喊甲划⼄喊⼄划——其中喊是喊出的数字,划是划出的数字,均为不超过100的正整数(两只⼿⼀起划)。

输出格式:

在第⼀⾏中输出先倒下的那个⼈:A代表甲,B代表⼄。第⼆⾏中输出没倒的那个⼈喝了多少杯。

题⽬保证有⼀个⼈倒下。注意程序处理到有⼈倒下就终⽌,后⾯的数据不必处理。

输⼊样例:

11

6

810912

510510

38512

1218113

4161215

151116

输出样例:

A

1

【题⽬描述-10】

1"""部分正确"""

2

3A_max,B_max=map(int,input('甲、⼄的酒量(≤100的⾮负整数),空格分隔:').split(sep=''))

4N=input('正整数N(≤100):')

5library_record=[]

6foriinrange(0,int(N)):

7library_(input(f'第{i+1}轮划拳记录:').split(sep=''))

8#.split()Returnalist

9flag_A=0

10flag_B=0

11forrecordinlibrary_record:

12Sum=int(record[0])+int(record[2])

13A=int(record[1])

14B=int(record[3])

15'''有个情况没考虑到,当甲⼄同时赢或者同时输的情况'''

16ifA!=SumandB!=Sum:#同时赢

17continue

18elifA==SumandB==Sum:#同时输

19flag_A+=1

20flag_B+=1

21ifflag_A>A_max:

22print('A')

23print(flag_B)

24break

25ifflag_B>B_max:

26print('B')

27print(flag_A)

28break

29elifA==Sum:

30flag_A+=1

31ifflag_A>A_max:

32print('A')

33print(flag_B)

34break

35elifB==Sum:

36flag_B+=1

37ifflag_B>B_max:

38print('B')

39print(flag_A)

40break

L1-020帅到没朋友

当芸芸众⽣忙着在朋友圈中发照⽚的时候,总有⼀些⼈因为太帅⽽没有朋友。本题就要求你找出那些帅到没有朋友的⼈。

输⼊格式:

输⼊第⼀⾏给出⼀个正整数N(≤100),是已知朋友圈的个数;随后N⾏,每⾏⾸先给出⼀个正整数K(≤1000),为朋友圈中的

⼈数,然后列出⼀个朋友圈内的所有⼈——为⽅便起见,每⼈对应⼀个ID号,为5位数字(从00000到99999),ID间以空格分

隔;之后给出⼀个正整数M(≤10000),为待查询的⼈数;随后⼀⾏中列出M个待查询的ID,以空格分隔。

注意:没有朋友的⼈可以是根本没安装“朋友圈”,也可以是只有⾃⼰⼀个⼈在朋友圈的⼈。虽然有个别⾃恋狂会⾃⼰把⾃⼰反复加

进朋友圈,但题⽬保证所有K超过1的朋友圈⾥都⾄少有2个不同的⼈。

输出格式:

按输⼊的顺序输出那些帅到没朋友的⼈。ID间⽤1个空格分隔,⾏的⾸尾不得有多余空格。如果没有⼈太帅,则输出Nooneis

handsome。

注意:同⼀个⼈可以被查询多次,但只输出⼀次。

输⼊样例1:

3

35555

23333344444

455555666669999977777

8

55555444443388888

输出样例1:

133

输⼊样例2:

3

35555

23333344444

455555666669999977777

4

55555444442222211111

输出样例2:

Nooneishandsome

1"""部分正确"""

2

3N=int(input())

4library_id=[]

5foriinrange(0,N):

6library_id+=input().split('')[1:]

7M=int(input())

8search_id=(input().split(sep='',maxsplit=M-1))

9flag=0

10lst=[]

11foriinsearch_id:

12ifinotinlibrary_idandinotinlst:

(i)

14else:

15flag+=1

16ifflag==len(search_id):

17print('Nooneishandsome')

18else:

19foriinlst[:-1]:

20print(i,end='')

21print(lst[-1])

更多推荐

18013820100