文章目录

  • 一、输入与输出
  • 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