vs2008中文版下载-光盘无法自动播放
![18013820100](/uploads/image/0190.jpg)
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
发布评论