文章目录
- 一、输入与输出
- 1.输入一矩形的长和宽,计算并输出矩形的面积
- 2.输入三个数,求出这三个数的和以及平均值,并在屏幕上输出
- 3.输个一个三位整数x,输出其百位、十位、个位,并输出各位之和以及各位之积
- 4.输入三角形的三边a,b,c,求其面积S.(公式:S=sqrt(p(p-a)(p-b)(p-c)),p为半周长)
- 5.从键盘上输入一个大写字母,将该大写字母转换成小写字母并输出
- 二、选择结构程序设计
- 1.从键盘输入一元二次方程的三个系数,输出解
- 2.已知x,y均为大于1的正整数,且x
一、输入与输出
1.输入一矩形的长和宽,计算并输出矩形的面积
x,y=eval(input("请输入长与宽(x,y):"))
print(x*y)
运行结果:
请输入长与宽(x,y):3,4
12
2.输入三个数,求出这三个数的和以及平均值,并在屏幕上输出
x,y,z=eval(input("请输入三个数(用逗号隔开):"))
print("和为%f"%(x+y+z))
print("平均值为%f"%((x+y+z)/3))
利用print()直接输出表达式的值时,若前面需添加文字,则%后的表达式需添加括号
运行结果:
请输入三个数(用逗号隔开):23,32,43
和为98.000000
平均值为32.666667
3.输个一个三位整数x,输出其百位、十位、个位,并输出各位之和以及各位之积
x=int(input("请输入一个三位整数:"))
a=x//100
b=(x%100)//10
c=x%10
print("百位:%d\n十位:%d\n个位:%d\n各位之和:%d\n各位之积:%d"%(a,b,c,a+b+c,a*b*c))
运行结果:
请输入一个三位整数:253
百位:2
十位:5
个位:3
各位之和:10
各位之积:30
4.输入三角形的三边a,b,c,求其面积S.(公式:S=sqrt(p(p-a)(p-b)(p-c)),p为半周长)
import math
a,b,c=eval(input("请输入三边长(用逗号隔开):"))
p=(a+b+c)/2
S=math.sqrt(p*(p-a)*(p-b)*(p-c))
print("面积为:%f"%S)
运行结果:
请输入三边长(用逗号隔开):5,12,13
面积为:30.000000
5.从键盘上输入一个大写字母,将该大写字母转换成小写字母并输出
ord()将一个字符转换为它的整数值(ASCII) chr()将一个整数转换为一个字符
x=ord(input("请输入一个大写字母:"))
y=x+32
print(chr(y))
运行结果:
请输入一个大写字母:B
b
二、选择结构程序设计
1.从键盘输入一元二次方程的三个系数,输出解
(要求:系数不为0,仅有实根,保留小数点后2位)
import math
a,b,c=eval(input("请输入三个系数:"))
if b*b-4*a*c>=0:
x1=(-b-math.sqrt(b*b-4*a*c))/(2*a)
x2=(-b+math.sqrt(b*b-4*a*c))/(2*a)
print("x1=%.2f\nx2=%.2f" % (x1, x2))
else:
print("该方程无实根")
运行结果:
请输入三个系数:1,2,-8
x1=-4.00
x2=2.00
请输入三个系数:1,2,8
该方程无实根
2.已知x,y均为大于1的正整数,且x<y,求x与y之间(包含x,y)所有的素数
x,y=eval(input("请输入两个大于1的正整数(由小至大):"))
for i in range(x,y+1):
for j in range(2,i):
if i%j==0:
break
else:
print("%d "%i,end='')
运行结果:
请输入两个大于1的正整数(由小至大):2,30
2 3 5 7 11 13 17 19 23 29
3.输入三个整数,求最大值
x,y,z=eval(input("请输入3个整数:"))
if x<y:
x,y=y,x
if x<z:
x,z=z,x
print(x)
运行结果:
请输入3个整数:3,2,4
4
4.输入一个字符串(不含空格),统计其中小写字母的个数
x=str(input("请输入字符串:"))
count=0
for i in x:
if 'a'<=i<='z':
count+=1
print(count)
运行结果:
请输入字符串:aNJNnjnJ
4
5.从键盘输入4个整数,将这4个整数由小到大输出
(要求:输出时用空格分开,不换行)
a,b,c,d=eval(input("请输入4个整数:"))
if a>b:
a,b=b,a
if a>c:
a,c=c,a
if a>d:
a,d=d,a
if b>c:
b,c=c,b
if b>d:
d,b=b,d
if c>d:
d,c=c,d
print("%d %d %d %d"%(a,b,c,d))
运行结果:
请输入4个整数:5,3,4,2
2 3 4 5
三、循环结构程序设计
1.求s=1+(1+2)+…+(1+2+3+…+n)的值,其中n由键盘输入
(要求:若n≤0,则输出“Error!”)
s,k=0,0
n=int(input("请输入一个正整数:"))
if n>=1:
for i in range(1,n+1):
k+=i
s+=k
print(s)
else:
print("Error!")
运行结果:
请输入一个正整数:10
220
2.编写程序,打印以下图形(行n的值由键盘输入)
*******
******
*****
****
***
**
*
n=int(input("请输入一个正整数:"))
if n>=1:
for i in range(1,n+1):
for j in range(0,i-1):
print(" ",end='')
for j in range(1,n-i+2):
print("*",end='')
print()
else:
print("Error!")
运行结果:
请输入一个正整数:7
*******
******
*****
****
***
**
*
3.编写程序,按照以下条件输出这个四位数:①前两位数字相同;②后两位数字相同;③这个四位数正好是一个整数的平方
for i in range(1,10):
for j in range(0,10):
for k in range(32,100): #31²=961,32²=1024
if 1000*i+100*i+10*j+j==k*k:
print("%d%d%d%d"%(i,i,j,j))
运行结果:
7744