SDUT-python实验一编程题
7-1 sdut-入门-买糖果
分数 10
作者 周雪芹
单位 山东理工大学
小瑜是个爱吃糖果的馋鬼,天天嚷着要爸爸买糖果,可是爸爸很忙,哪有时间啊,于是就让小瑜自己去了。
糖果3角钱一块,爸爸给小瑜n元钱,请你告诉小瑜最多能买几块糖,还剩几角钱?
输入格式:
输入爸爸给小瑜的钱n元,n为整数。
输出格式:
小瑜最多能买回的糖块数以及剩下的钱(单位为:角),用1个空格分隔。
输入样例:
2
输出样例:
6 2
答案:
n=int(input()) # 最多能买回的糖块数 # /只返回浮点数结果,即使能整除,结果也是浮点数 # //结果类型与被除数类型有关,被除数为整数,结果为整数,被除数为浮点数,结果为浮点数(向下取整) cnt=n*10//3 # 剩下的钱(角) money=n*10%3 print("%d %d"%(cnt,money))7-2 sdut-入门-三个整数和、积与平均值
给出三个整数,请你设计一个程序,求出这三个数的和、乘积和平均数。
输入格式:
输入只有三个正整数a、b、c。数据之间用一个空格隔开。
输出格式:
输出一行,包括三个的和、乘积、平均数。 数据之间用一个空格隔开,其中平均数保留小数后面两位。
输入样例:
2 3 3
输出样例:
8 18 2.67
答案:
# 没啥好说的 a,b,c=map(int,input().split()) sum=a+b+c mul=a*b*c ave=sum/3 print("%d %d %.2f"%(sum,mul,ave))7-3 sdut-入门-转换字母
从键盘上输入一个小写字母,然后将小写字母装换成大写字母输出!
输入格式:
从键盘上输入一个小写字母。
输出格式:
小写字母装换成大写字母输出。
输入样例:
a
输出样例:
A
答案:
x=input() # upper()方法可将小写字母转换为大写 print(x.upper())7-4 sdut-温度转换
输入一个华氏温度,输出摄氏温度,其转换公式为:C=5(F-32)/9。
输入格式:
输入数据只有一个实数,即华氏温度。
输出格式:
输出数据只有一个,即摄氏温度,保留2位小数。
提示:输出数据时小数点保留2位小数的实现方式如下。
(1) PYTHON实现:
print("%.2f" %(c)) #其中,c为变量 (方式1)
print("{:.2f}".format(c)) #其中,c为变量(方式2)
(2)Java实现:
System.out.printf("%.2f",c); //c为变量
输入样例:
32.0
输出样例:
0.00
答案:
n=float(input()) c=5.0*(n-32)/9 print("%.2f"%c)7-5 sdut-oop-1 简单的复数运算
设计一个类Complex,用于封装对复数的下列操作:
成员变量:实部real,虚部image,均为整数变量;
构造方法:无参构造方法、有参构造方法(参数2个)
成员方法:含两个复数的加、减、乘操作。
复数相加举例: (1+2i)+(3+4i)= 4 + 6i
复数相减举例: (1+2i)-(3+4i)= -2 - 2i
复数相乘举例: (1+2i)*(3+4i)= -5 + 10i
要求:对复数进行连环算术运算。
提示:如果用PYTHON语言实现,不必设计Complex类,可以使用内置的复数数据类型,完成复数的算术运算。
输入格式:
输入有多行。
第一行有两个整数,代表复数X的实部和虚部。
后续各行的第一个和第二个数表示复数Y的实部和虚部,第三个数表示操作符op: 1——复数X和Y相加;2——复数X和Y相减;3——复数X和Y相乘。
当输入0 0 0时,结束运算,输出结果。
输出格式:
输出一行。
第一行有两个整数,代表复数的实部和虚部,实部和虚部之间用1个空格分开。
输入样例:
1 1
3 4 2
5 2 1
2 -1 3
0 2 2
0 0 0
输出样例:
5 -7
答案:
# 复数x的实部和虚部 a,b=map(int,input().split()) # 构建复数x x=complex(a,b) # 持续输入中... while True: # 复数y的实部和虚部和操作符op c,d,op=map(int,input().split()) # 构建复数y y=complex(c,d) # 当y是0且op为0时,输出结果,结束运算 if y==0 and op==0: print("%d %d"%(x.real,x.imag)) break # 一定要记得结束运算啊。。。 elif op==1: x+=y elif op==2: x-=y elif op==3: x*=y7-6 sdut-计算球体积
根据输入的半径值,计算球的体积。
提示:PI=3.1415926。
输入格式:
输入数据有多组,每组占一行,每行包括一个实数,表示球的半径。
输出格式:
输出对应的球的体积,对于每组输入数据,输出一行,计算结果保留三位小数。
提示:PYTHON3输出三位小数的语句:print("%.3f" % (v));其中,v为变量。
输入样例:
1
1.5
输出样例:
4.189
14.137
答案:
while True: try: # float()可将1转换成浮点数1.0 r=float(input()) pi=3.1415926 v=4/3.0*pi*r*r*r print("%.3f"%v) except: break7-7 sdut-数据类型-1-求班级男女生比例
新的一学期开始,HH同学在学校认识了很多的同学,但是他却不知道自己本班男生和女生的比例是多少。对于学过编程的你一定简单极了吧。你能帮他算出男生女生的百分比吗?
输入格式:
每行输入正整数男生和女生的数目n,m(0<n,m<1000)。
输出格式:
输出男生女生所占的比例(保留小数点后两位)。
输入样例1:
20 30
输出样例1:
40.00% 60.00%
输入样例2:
10 10
输出样例2:
50.00% 50.00%
输入样例:
50 0
输出样例:
100.00% 0.00%
答案:
n,m=map(int,input().split()) sum=n+m a=float(n/sum*100) b=float(m/sum*100) # %%显示一个% print("%.2f%% %.2f%%"%(a,b))7-8 sdut-常用类-骄傲的代价
E_star由于在上次考试中取得了很好的成绩他开始骄傲起来,此时von看不下去了,于是他把E_star叫来说,最近一道A+B编程题目不会,想让E_star来帮他解答,E_star二话没说结一口答应了,等到von把题目发给E_star的时候他傻眼了。这下,知道骄傲的后果了吧。
JAVA语言实现提示:可使用JDK标准API中的类:java.math.BigInteger。
输入格式:
题目有多组数据,处理到文件结束。输入的第一行包含一个数T,代表测试组数;
接下来有T行,每行有两个整数A和B,中间用空格分隔。
提示:整数可能超出long类型的取值范围。B不为0。
输出格式:
对于每一组数据,输出5行数据,分别为2个数的和、差、积、商(整除)、余数。形式为:
A+B=C,其中C是A与B的加和。
A-B=D,其中D是A与B的差。
A*B=E,其中E是A与B的乘积。
A/B=F,其中F是A与B的商(整数)。
A%B=G,其中G是A除以B的余数。
输入样例:
3
1 2
24 6
12313131231231232131 31232131315465436657434321
输出样例:
1+2=3
1-2=-1
1*2=2
1/2=0
1%2=1
24+6=30
24-6=18
24*6=144
24/6=4
24%6=0
12313131231231232131+31232131315465436657434321=31232143628596667888666452
12313131231231232131-31232131315465436657434321=-31232119002334205426202190
12313131231231232131*31232131315465436657434321=384565331518372453687453692411523206037368051
12313131231231232131/31232131315465436657434321=0
12313131231231232131%31232131315465436657434321=12313131231231232131
答案:
t=int(input()) for i in range(t): a,b=map(int,input().split()) sum=a+b sub=a-b # 乘积mul mul=a*b # 商求的是整除 shang=a//b # 余数mod mod=a%b print("%d+%d=%d"%(a,b,sum)) print("%d-%d=%d" % (a, b, sub)) print("%d*%d=%d" % (a, b, mul)) print("%d/%d=%d" % (a, b, shang)) print("%d%%%d=%d" % (a, b, mod))7-9 sdut-求奇数分之一序列的前N项近似和
计算序列 1 + 1/3 + 1/5 + ... 的前N项近似和。
Python提示:用math模块的ceil函数。
ceil函数帮助信息:Return the ceiling of x as an Integral. This is the smallest integer >= x.
ceil函数使用举例:
import math
print(math.ceil(12.23)) #输出:13
输入格式:
在一行中给出一个正整数N。
输出格式:
在一行中按照“sum≈S”的格式输出近似和S。S是大于序列和的最小整数。
输入样例:
23
输出样例:
sum≈3
答案:
import math n=int(input()) # 一开始sum必已经是1 sum=1 # 初始化分母为1(序列第一项是1/1) y=1 # 从1开始,循环n-1次,因为第一项已经包含在sum中了 for i in range(1,n): y+=2 sum+=1/y print("sum≈%d"%math.ceil(sum))7-10 sdut-求平方与倒数序列的近似和
对两个正整数m和n(m≤n)编写程序,计算序列近似和。近似和定义为小于序列和的最大整数。
Python实现提示:用math模块的floor函数。floor函数帮助信息:Return the floor of x as an Integral. This is the largest integer <= x.
floor函数使用举例:
import math
print(math.floor(12.43)) #输出:12
输入格式:
在一行中给出两个正整数m和n(m≤n),其间以空格分开。
输出格式:
在一行中按照“sum≈S”的格式输出近似和S。
输入样例:
5 10
输出样例:
在这里给出相应的输出。例如:
sum≈355
答案:
import math m,n=map(int,input().split()) sum=0 for i in range(m,n+1): sum+=i*i+1/i print("sum≈%d"%math.floor(sum))