1、从键盘输入10个学生的成绩并存储在列表中,求成绩最高者、最低者的序号和成绩。
ls=input()
t=max(ls)
m=min(ls)
a=ls.index(t)
b=ls.index(m)
print(a+1,t)
print(b+1,m)
2、编写程序,生成包含20个元素的随机数列表,将前十个元素升序排列,后10个元素降序排列,并输出结果。
方法一:
import random
ls=[random.randint(0,100) for i in range(20)]
y=ls[0:10]
y.sort()
ls[0:10]=y
y=ls[10:20]
y.sort(reverse=True)
ls[10:20]=y
print(ls)
3、编程实现输入一个自然数,若为偶数,则把它除以2;若为奇数,则把它乘以3加1。经过如此有限次运算后,总可以得到自然数值1。输出经过多少次可以得到自然数1和每次得到的值。
样例输入:22
样例输出:
22,11,34,17,52,26,13,40,20,10,5,16,8,4,2,1
step=16
from __future__ import print_function
x=input()
step=0
while(1):
step+=1
if x==1:
break
print(x,end=",")
if x%2==0:
x/=2
else:
x=x*3+1
print(x)
print('step=%d'%step)
4、今天Bat突发奇想,要找出整数N的最大素数因子 ,但他不知道该怎么做,于是向你求助。
样例输入:10
样例输出:5
n=input()
ls=[]
for i in range (2,10**3):
if n%i==0:
flag=1
for j in range(2,i):
if i%j==0:
flag=0
if flag==1:
ls.append(i)
a=max(ls)
print(a)
5、求Sn=1!+2!+3!+4!+5!+…+n!之值,其中n是一个小于13的整型数据。
样例输入:5
样例输出:153
n=int(input(''))
t=1
s=0
if n<13:
for n in range (1,n+1):
t=t*n
s+=t
print(s)
else:
print(Error)
6、根据下列公式,求得sinx(x)的近似值:
sin(x) = x - (x3/3!) + (x5/5!) - (x7/7!) + …直到最后一项的绝对值小于10-6时,停止计算,x的值从键盘输入
样例输入:5
样例输出:-0.958924293213
s=1.0
i=1.0
x=input('')
sinx=x
fitem=e=x
d=1.0
while(fitem>10**-6):
e=e*x*x
d=d*(i+1)*(i+2)
i=i+2
fitem=e/d
s=-s
sinx+=s*fitem
print(sinx)
7、求一个正整数n的各位奇数的平方和。例如n=12758,则其各位分别为1、2、7、5、8,其中奇数的平方和为:11+77+5*5=75
样例输入:12758
样例输出:75
n=int(input(''))
s=0
while n>0:
t=n%10
n=n//10
if t%2==1:
s=s+t*t
print(s)
8、有一数列:2/1,3/2,5/3,8/5,……。求出这个数列的前10项之和。
样例输出:16.479905
sum=0
i=0
a=2.0
b=1.0
while i<10:
t=a/b
a,b=a+b,a
i=i+1
sum=sum+t
print('%f'%sum)
9、给定两个点的坐标,求解这两个点间的距离
输入:输入两个点的坐标,以空格分开
输出:求解两点之间的距离。输出保留两位小数
样例输入
1,1
2,2
样例输出:1.41
import math
x1,y1=input('')
x2,y2=input('')
s=math.sqrt((x1-x2)**2+(y1-y2)**2)
print('%.2f'%s)
10、从键盘输入x的值,计算并打印下列分段函数y的值
y=0 (x<60)
y=1+√x (60<=x<70)
y=2*x (70<=x<80)
y=3/x (80<=x<90)
输入:输入x的值。
输出:输出计算的y值。
样例输入:23
import math
x=float(input())
if x<60:
print('0')
elif 60<=x<70:
y=math.sqrt(x)+1
print('%d'%y)
elif 70<=x<80:
y=2*x
print('%d'%y)
elif 80<=x<90:
y=3.0/x
print('%d'%y)
else:
print('Error')
11、从键盘输入一元二次方程的三个系数,求出其解并输出。
输入:已知求解的一元二次方程满足下列条件:二次项的系数不为零,计算结果只有实根。从键盘输入的数据以空格隔开。
输出:输出的格式为x1=<第一根>,x2=<第二根>,要求 第一根<=第二根;要求仅保留小数点后两位,不要输出多余的信息。
样例输入:2,6,2
样例输出:x1=-2.62,x2=-0.38
import math
a,b,c=input('')
if a==0:
print('Error')
else:
t=b*b-4*a*c
x=-b/2*a
if t>=0:
x1=(-b-math.sqrt(t))/(2*a)
x2=(-b+math.sqrt(t))/(2*a)
if x1<x2:
print('x1=%.2f,x2=%.2f'%(x1,x2))
else:
print('x1=%.2f,x2=%.2f'%(x2,x1))
else:
print('Do not have real roots')
12、从键盘任意输入一个正整数x,计算x的每一位数字相加之和。
输入:输入正整数x。
输出:输出x各位数字之和。
样例输入:1234
样例输出:10
sum=0
n=input()
if n<=0:
print('Error')
else:
while n>0:
sum=sum+n%10
n=n//10
print('%d'%sum)
网友评论