- 博客(49)
- 收藏
- 关注
原创 Python字典及字典的增改删查
通过键(key)值(value)对来储存数据(键当作元素的索引,值表示所存储和读取的数据)存储的数据是无序的,可使用键索引值键必须唯一,但值可以不唯一键的类型只能是字符串、数字或元组,值可以是任何类型字典的创建dict1 = {}dict2 = {'A': 100, 'B': 99, 'C': 98}print(dict2)#-->{'A': 100, 'B': 99, 'C': 98}增加:dict = {"001":["阿大", 10000], .
2022-04-06 22:41:08
573
原创 Python列表list增改删查
常用操作: 1.长度:len() 2.计数:.count() 3.下标:.index(); 4.反转:切片最后一个参数填-1或者用.reverse(); 5.合并:用+号连接两个list; 6.重复:用*就可以; 7.判断元素是否存在:'a' in 列表名称 letter = ['a', 'b', 'c', 'd', 'e']num = [1, 2, 3, 4, 5]print(len(letter))#==>5长度print(letter.count('a'))#==&.
2022-03-26 22:36:40
978
原创 蓝桥 基础练习 数列排序(sort函数)
python提供了sort和sorted函数进行排序 sort()函数是一种方法,调用后对原列表本身进行排序,默认按升序排列;而sorted()函数是输入一个list对象作为参数,会返回一个排序好的列表 sort()函数:list.sort( key=None, reverse=False) sorted():sorted(iterable, key=None, reverse=False) 参数:key:指定接收一个参数的函数,这个函数用于从每个元素中提取一个用于比较的关键字;reverse...
2022-03-26 16:30:05
191
原创 Python九九乘法表(range函数)
range()函数是Python中的内置函数,在需要执行特定次数操作时使用它,表示循环的意思。 range()可以用于以列表的形式生成数字序列。允许在给定范围内生成一系列数字。 range(start, stop, step):start表示从返回序列的起始编号,默认从0开始;stop表示生成最多但不包括此数字的数字;step指的是序列中每个数字之间的差异,默认值为1。 a = range(1, 20 ,3)for i in a: print(i) # ==>1 # 4.
2022-03-25 20:28:35
2463
原创 Python一行输入多个数字用空格隔开(洛谷B2001入门测试题目)(map函数和split函数)
比如:实现一行输入两个整数,然后求整数的和,以空格隔开: a, b = map(int, input().split())c = a+bprint(c)
2022-03-25 15:16:07
17266
原创 Python判断元组内的元组个数
元组(tuple)内的元素也可以是元组 比如 T = ((1+1), ((1+2),), ('a'), (1, ), (1, 2, 3), (4, 5, 6)) 但是元组的()和运算符加强优先级的()是一样的,所以如果一个元组T= (1)那么输出的是整数1,而不是元组了,如果需要要定义一个只有单个元素的元组,需要在元素后面加上一个逗号,比如T = (1,)这样输出就是(1,) 所以综上,一个元组内的元素,可以是整数或者是其他,也可以是元组,如果需要确定一个元组内有几个元组,可以用isins.
2022-03-23 15:08:27
3216
原创 PTA7-27 兔子繁衍问题 (15 分)
一对兔子,从出生后第3个月起每个月都生一对兔子。小兔子长到第3个月后每个月又生一对兔子。假如兔子都不死,请问第1个月出生的一对兔子,至少需要繁衍到第几个月时兔子总数才可以达到N对?输入格式:输入在一行中给出一个不超过10000的正整数N。输出格式:在一行中输出兔子总数达到N最少需要的月数。输入样例:30结尾无空行输出样例:9结尾无空行其实就是Fibonacci数列问题,从第三月起的兔子数量等于前两项之和。 1, 1, 2, 3,...
2021-12-25 14:27:12
2255
原创 PTA7-32 求交错序列前N项和 (15 分)
本题要求编写程序,计算交错序列 1-2/3+3/5-4/7+5/9-6/11+... 的前N项之和。输入格式:输入在一行中给出一个正整数N。输出格式:在一行中输出部分和的值,结果保留三位小数。输入样例:5结尾无空行输出样例:0.917结尾无空行#include<stdio.h>int main(){ int n; double i,j,sum=0; double sign=1.0; scanf(.
2021-11-27 17:44:52
634
原创 7-76 计算分段函数[3] (10 分)
本题目要求计算下列分段函数f(x)的值:输入格式:输入在一行中给出实数x。输出格式:在一行中按“f(x) = result”的格式输出,其中x与result都保留一位小数。输入样例1:10结尾无空行输出样例1:f(10.0) = 0.1结尾无空行输入样例2:234输出样例2:f(234.0) = 234.0#include<stdio.h>int main(){ int x; double y;.
2021-11-27 16:12:13
539
原创 PTA7-52 求简单交错序列前N项和 (15 分)
本题要求编写程序,计算序列 1 - 1/4 + 1/7 - 1/10 + ... 的前N项之和。输入格式:输入在一行中给出一个正整数N。输出格式:在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后三位。题目保证计算结果不超过双精度范围。输入样例:10结尾无空行输出样例:sum = 0.819结尾无空行#include<stdio.h>int main(){ int n,i,j=1; double sign=1
2021-11-27 15:50:18
772
原创 7-25 求奇数和 (15 分)PTA
本题要求计算给定的一系列正整数中奇数的和。输入格式:输入在一行中给出一系列正整数,其间以空格分隔。当读到零或负整数时,表示输入结束,该数字不要处理。输出格式:在一行中输出正整数序列中奇数的和。输入样例:8 7 4 3 70 5 6 101 -1结尾无空行输出样例:116结尾无空行#include<stdio.h>int main(){ int num,sum=0,i=0; scanf("%d",&num); w
2021-11-25 23:09:34
424
原创 PTA 7-37 输出整数各位数字 (15 分)
本题要求编写程序,对输入的一个整数,从高位开始逐位分割并输出它的各位数字。输入格式:输入在一行中给出一个长整型范围内的非负整数。输出格式:从高位开始逐位输出该整数的各位数字,每个数字后面有一个空格。输入样例:123456结尾无空行输出样例:1 2 3 4 5 6 #include<stdio.h>int main(){ int n,count=1,w; scanf("%d",&n); w=n; while(
2021-11-18 21:44:40
15685
11
原创 PTA翁恺:7-122 3n+1 (10 分)
有这样一个猜想:对于任意大于1的自然数n,若n为奇数,则将n变成3n+1,否则变成n的一半。经过若干次这样的变换,一定会使n变为1。例如3->10->5->16->8->4->2->1。对于n=1的情况,当然就不用变化了。输入格式:输入一个正整数n,n的范围是[1,999999]。输出格式:输出变换的次数。输入样例:3结尾无空行输出样例:7结尾无空行#include<stdio.h>int main()
2021-11-16 21:31:50
779
原创 7-36 韩信点兵 (10 分)
在中国数学史上,广泛流传着一个“韩信点兵”的故事:韩信是汉高祖刘邦手下的大将,他英勇善战,智谋超群,为汉朝建立了卓越的功劳。据说韩信的数学水平也非常高超,他在点兵的时候,为了知道有多少兵,同时又能保住军事机密,便让士兵排队报数:按从1至5报数,记下最末一个士兵报的数为1; 再按从1至6报数,记下最末一个士兵报的数为5; 再按从1至7报数,记下最末一个士兵报的数为4; 最后按从1至11报数,最末一个士兵报的数为10;请编写程序计算韩信至少有多少兵。输入格式:本题无输入输出格式:输出
2021-11-16 09:08:38
373
原创 PTA:7-119 我是升旗手 (10 分)
一年一度的升旗手选拔又要到了,学校要求每个班级选出一位同学做升旗手的候选人。因 为升旗手对身高有严格的要求,所以班主任决定选班级里个子最高的同学(如果两位同学 一样高,则选任意一位)。你能很快地给老师答案么?输入格式:输入包括两行。 第一行:包括一个整数n,表示班级里共有n位同学。 第二行:包含n个三位数,表示每一位同学的身高。输出格式:输出身高最高的同学的身高。输入样例:4130 125 129 140结尾无空行输出样例:140结尾无空行#include
2021-11-14 15:11:45
1138
原创 中国大学MOOC:2数字特征值(5分)
题目内容:对数字求特征值是常用的编码算法,奇偶特征是一种简单的特征值。对于一个整数,从个位开始对每一位数字编号,个位是1号,十位是2号,以此类推。这个整数在第n位上的数字记作x,如果x和n的奇偶性相同,则记下一个1,否则记下一个0。按照整数的顺序把对应位的表示奇偶性的0和1都记录下来,就形成了一个二进制数字。比如,对于342315,这个二进制数字就是001101。这里的计算可以用下面的表格来表示: 数字 3 4 2
2021-11-13 23:57:25
1397
原创 中国大学MOOC:1奇偶个数(5分)
题目内容:你的程序要读入一系列正整数数据,输入-1表示输入结束,-1本身不是输入的数据。程序输出读到的数据中的奇数和偶数的个数。输入格式:一系列正整数,整数的范围是(0,100000)。如果输入-1则表示输入结束。输出格式:两个整数,第一个整数表示读入数据中的奇数的个数,第二个整数表示读入数据中的偶数的个数。两个整数之间以空格分隔。输入样例:9 3 4 2 5 7 -1输出样例:4 2#include <stdio.h>int mai.
2021-11-13 22:57:56
923
原创 中国大学MOOC:2.分队列(5分)
题目内容:班级第一次列队,通常老师会让同学按身高排成一列,然后1、2报数,喊到1的同学向前一 步,就这样,队伍就变成两列了。假设现在一个班级有n个同学,并且他们已经按身高排成 了一列,同学按身高从1到n编号,你能告诉我最后哪些编号的同学站在了第一列么?输入格式:输入一个正整数n,表示班级的人数。输出格式:按顺序输出所有在第一列的同学对应的编号,每两个编号之间用一个空格隔开,最后一个编号后面没有空格。输入样例:11输出样例:1 3 5 7 9 11#.
2021-11-13 20:14:58
840
原创 中国大学MOOC第三周第一题:时间换算(5分)
1时间换算(5分)题目内容:UTC是世界协调时,BJT是北京时间,UTC时间相当于BJT减去8。现在,你的程序要读入一个整数,表示BJT的时和分。整数的个位和十位表示分,百位和千位表示小时。如果小时小于10,则没有千位部分;如果小时是0,则没有百位部分;如果小时不是0而分小于10分,需要保留十位上的0;如果小时是0而分小于10分的,则不需要保留十位上的0。如1124表示11点24分,而905表示9点5分,36表示0点36分,7表示0点7分。有效的输入范围是0到2359,即你的程序不可能从测试
2021-11-12 14:00:35
408
原创 额7-73 比较大小 (10 分)
本题要求将输入的任意3个整数从小到大输出。输入格式:输入在一行中给出3个整数,其间以空格分隔。输出格式:在一行中将3个整数从小到大输出,其间以“->”相连。输入样例:4 2 8结尾无空行输出样例:2->4->8结尾无空行#include <stdio.h>int main(){ int a,b,c; int min=0,med=0,max=0; scanf("%d %d %d",&a,&
2021-11-11 23:49:17
326
原创 [相减法]7-26 最大公约数和最小公倍数 (15 分)
本题要求两个给定正整数的最大公约数和最小公倍数。输入格式:输入在一行中给出两个正整数M和N(≤1000)。输出格式:在一行中顺序输出M和N的最大公约数和最小公倍数,两数字间以1空格分隔。输入样例:511 292结尾无空行输出样例:73 2044结尾无空行#include <stdio.h>int main(){ int m,n,a,b; scanf("%d %d",&m,&n); a=m; b=
2021-11-11 11:43:15
278
原创 7-78 计算油费 (15 分)
现在90号汽油6.95元/升、93号汽油7.44元/升、97号汽油7.93元/升。为吸引顾客,某自动加油站推出了“自助服务”和“协助服务”两个服务等级,分别可得到5%和3%的折扣。本题要求编写程序,根据输入顾客的加油量a,汽油品种b(90、93或97)和服务类型c(m - 自助,e - 协助),计算并输出应付款。输入格式:输入在一行中给出两个整数和一个字符,分别表示顾客的加油量a,汽油品种b(90、93或97)和服务类型c(m - 自助,e - 协助)。输出格式:在一行中输出应付款额,保
2021-11-09 08:53:21
343
原创 7-40 到底是不是太胖了 (10 分)
据说一个人的标准体重应该是其身高(单位:厘米)减去100、再乘以0.9所得到的公斤数。真实体重与标准体重误差在10%以内都是完美身材(即 | 真实体重−标准体重 |<标准体重×10%)。已知市斤是公斤的两倍。现给定一群人的身高和实际体重,请你告诉他们是否太胖或太瘦了。输入格式:输入第一行给出一个正整数N(≤20)。随后N行,每行给出两个整数,分别是一个人的身高H(120<H<200;单位:厘米)和真实体重W(50<W≤300;单位:市斤),其间以空格...
2021-11-07 21:04:37
80
原创 7-77 求1到100的和 (10 分)
本题要求编写程序,计算表达式 1 + 2 + 3 + ... + 100 的值。输入格式:本题无输入。输出格式:按照以下格式输出:sum = 累加和#include <stdio.h>int main(){ int sum,i; for(sum=0,i=1;i<=100;i++){ sum=sum+i; } printf("sum = %d",sum); return 0;}...
2021-11-07 21:03:22
317
原创 7-18 出租车计价 (15 分)
本题要求根据某城市普通出租车收费标准编写程序进行车费计算。具体标准如下:起步里程为3公里,起步费10元; 超起步里程后10公里内,每公里2元; 超过10公里以上的部分加收50%的回空补贴费,即每公里3元; 营运过程中,因路阻及乘客要求临时停车的,按每5分钟2元计收(不足5分钟则不收费)。输入格式:输入在一行中给出输入行驶里程(单位为公里,精确到小数点后1位)与等待时间(整数,单位为分钟),其间以空格分隔。输出格式:在一行中输出乘客应支付的车费(单位为元),结果四舍五入,保留到元。
2021-11-06 23:43:39
59
原创 7-105 寻找250 (10 分)
对方不想和你说话,并向你扔了一串数…… 而你必须从这一串数字中找到“250”这个高大上的感人数字。输入格式:输入在一行中给出不知道多少个绝对值不超过1000的整数,其中保证至少存在一个“250”。输出格式:在一行中输出第一次出现的“250”是对方扔过来的第几个数字(计数从1开始)。题目保证输出的数字在整型范围内。输入样例:888 666 123 -233 250 13 250 -222结尾无空行输出样例:5结尾无空行#include <stdio.h&
2021-11-06 23:41:50
275
原创 7-100 逆序的三位数 (10 分)
程序每次读入一个正3位数,然后输出按位逆序的数字。注意:当输入的数字含有结尾的0时,输出不应带有前导的0。比如输入700,输出应该是7。输入格式:每个测试是一个3位的正整数。输出格式:输出按位逆序的数。输入样例:123结尾无空行输出样例:321结尾无空行#include <stdio.h>int main(){ int a,c; int b,s,g; scanf("%d",&a); b=a%10;
2021-11-05 23:44:07
124
原创 7-62 计算物体自由下落的距离 (5 分)
一个物体从100米的高空自由落下。编写程序,求它在前3秒内下落的垂直距离。设重力加速度为10米/秒2。输入格式:本题目没有输入。输出格式:按照下列格式输出height = 垂直距离值结果保留2位小数。#include <stdio.h>int main(){ double h; h=0.5*10.0*3.0*3.0; printf("height = %.2f",h); return 0;}...
2021-11-05 23:42:54
1037
原创 7-54 求阶乘序列前N项和 (15 分)
本题要求编写程序,计算序列1!+2!+3!+⋯的前N项之和。输入格式:输入在一行中给出一个不超过12的正整数N。输出格式:在一行中输出整数结果。输入样例:5结尾无空行输出样例:153结尾无空行#include <stdio.h>int main(){ int a=1,n,sum=0,i; scanf("%d",&n); for(i=1;i<=n;i++){ a=a*i; ..
2021-11-05 23:41:54
3800
原创 7-51 求奇数分之一序列前N项和 (15 分)
本题要求编写程序,计算序列 1 + 1/3 + 1/5 + ... 的前N项之和。输入格式:输入在一行中给出一个正整数N。输出格式:在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后6位。题目保证计算结果不超过双精度范围。输入样例:23结尾无空行输出样例:sum = 2.549541#include <stdio.h>int main(){ int n,i; double sum=0.0,p;//p还必须是dou
2021-11-05 23:41:13
284
原创 7-41 计算阶乘和 (10 分)
对于给定的正整数N,需要你计算S=1!+2!+3!+...+N!。输入格式:输入在一行中给出一个不超过10的正整数N。输出格式:在一行中输出S的值。输入样例:3结尾无空行输出样例:9结尾无空行#include <stdio.h>int main(){ int n,s=1,i=1,d=0; scanf("%d",&n); while(1){ s=s*i; i++; .
2021-11-05 23:39:43
158
原创 7-28 求整数的位数及各位数字之和 (15 分)
对于给定的正整数N,求它的位数及其各位数字之和。输入格式:输入在一行中给出一个不超过109的正整数N。输出格式:在一行中输出N的位数及其各位数字之和,中间用一个空格隔开。输入样例:321结尾无空行输出样例:3 6结尾无空行#include <stdio.h>int main(){ int n,count=0,sum=0; scanf("%d",&n); while(n>0){ sum=su
2021-11-05 23:38:40
69
原创 7-23 分段计算居民水费 (10 分)
为鼓励居民节约用水,自来水公司采取按用水量阶梯式计价的办法,居民应交水费y(元)与月用水量x(吨)相关:当x不超过15吨时,y=4x/3;超过后,y=2.5x−17.5。请编写程序实现水费的计算。输入格式:输入在一行中给出非负实数x。输出格式:在一行输出应交的水费,精确到小数点后2位。输入样例1:12结尾无空行输出样例1:16.00结尾无空行输入样例2:16输出样例2:22.50#include <stdio.h>int m
2021-11-05 23:37:54
203
2
原创 7-22 用天平找小球 (10 分)
三个球A、B、C,大小形状相同且其中有一个球与其他球重量不同。要求找出这个不一样的球。输入格式:输入在一行中给出3个正整数,顺序对应球A、B、C的重量。输出格式:在一行中输出唯一的那个不一样的球。输入样例:1 1 2结尾无空行输出样例:C结尾无空行#include <stdio.h>int main(){ int A,B,C; scanf("%d %d %d",&A,&B,&C); if (A=
2021-11-05 23:36:56
83
原创 7-17 成绩转换 (15 分)
世界上不同国家有不同的写日期的习惯。比如美国人习惯写成“月-日-年”,而中国人习惯写成“年-月-日”。下面请你写个程序,自动把读入的美国格式的日期改写成中国习惯的日期。输入格式:输入在一行中按照“mm-dd-yyyy”的格式给出月、日、年。题目保证给出的日期是1900年元旦至今合法的日期。输出格式:在一行中按照“yyyy-mm-dd”的格式给出年、月、日。输入样例:03-15-2017结尾无空行输出样例:2017-03-15结尾无空行
2021-11-05 23:35:56
319
原创 7-16 计算符号函数的值 (10 分)
对于任一整数n,符号函数sign(n)的定义如下:请编写程序计算该函数对任一输入整数的值。输入格式:输入在一行中给出整数n。输出格式:在一行中按照格式“sign(n) = 函数值”输出该整数n对应的函数值。输入样例1:10结尾无空行输出样例1:sign(10) = 1结尾无空行输入样例2:0输出样例2:sign(0) = 0输入样例3:-98输出样例3:sign(-98) = -1#include <.
2021-11-05 23:35:02
72
原创 7-15 BCD解密 (10 分)
BCD数是用一个字节来表达两位十进制的数,每四个比特表示一位。所以如果一个BCD数的十六进制是0x12,它表达的就是十进制的12。但是小明没学过BCD,把所有的BCD数都当作二进制数转换成十进制输出了。于是BCD的0x12被输出成了十进制的18了!现在,你的程序要读入这个错误的十进制数,然后输出正确的十进制数。提示:你可以把18转换回0x12,然后再转换回12。输入格式:输入在一行中给出一个[0, 153]范围内的正整数,保证能转换回有效的BCD数,也就是说这个整数转换成十六进制时不会出现A-F
2021-10-25 21:21:02
289
原创 7-14 然后是几点 (15 分)PTA
有时候人们用四位数字表示一个时间,比如1106表示 11 点零 6 分。现在,你的程序要根据起始时间和流逝的时间计算出终止时间。读入两个数字,第一个数字以这样的四位数字表示当前时间,第二个数字表示分钟数,计算当前时间经过那么多分钟后是几点,结果也表示为四位数字。当小时为个位数时,没有前导的零,例如 5 点 30 分表示为530;0 点 30 分表示为030。注意,第二个数字表示的分钟数可能超过 60,也可能是负数。输入格式:输入在一行中给出 2 个整数,分别是四位数字表示的起始时间、以及...
2021-10-23 10:55:42
152
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人