17道Python小练习

1.给出一个等差数列的前两项a1和a2(a1,a2均为整数),求第n项的值。

a1 = int(input("请输入等差数列第一项:"))

a2 = int(input("请输入等差数列第二项:"))

n = int(input("请输入n以计算第n项的值:"))

d = a2 - a1

N = a1 + d * (n-1)

print(f"等差数列第{n}项的值为:{N}")

2.已经线段的两个端点的坐标A(xa,ya)、B(xb,yb),求线段AB的长度。输入两个端点坐标,输出线段长度(保留3位小数)。

xa=int(input("请输入A点的横坐标:"))

ya=int(input("请输入A点的纵坐标:"))

xb=int(input("请输入B点的横坐标:"))

yb=int(input("请输入B点的纵坐标:"))

len= ((xa-xb)**2+(ya-yb)**2)**0.5

print("线段AB长度为%.3f" %len)

3.输入一个秒数(非负整数),折合成小时、分秒输出。

time = int(input("请输入一个秒数:"))

h = time //3600

m =( time - h * 3600) // 60

ss = time - h * 3600 - m * 60

print(f"{h}小时{m}{ss}")

4.输入一个不超过5位整数,输出其是几位数,并将该数倒序输出。

num=input('请输入一个不多于五位的整数:')

print(f"5位数:{' '.join(list(reversed(num)))}")

5.输入一个整数,输出其是奇数还是偶数。

num = int(input("请输入一个整数:"))

if num % 2 == 0:

    print('该数为偶数')

else:

    print('该数不是偶数')

6.若三角形三边长分别为a、b、c,a和b之间的夹角为m,则有c2=a2+b2-2ab*cos(m)。缩写程序,输入三角形的边长a、b、c,计算夹角m的度数(保留1位小数)。

import math

a = float(input('请输入a边长:'))

b = float(input('请输入b边长:'))

c = float(input('请输入c边长:'))

m = (a**2+b**2-c**2)/(2*a*b)

degree = math.degrees(math.acos(m))

print('夹角m的度数为:{:.1f}'.format(degree))

7.大象喝水问题。一只大象口渴了,要喝20升水才能解渴,但现在只有一个深为h厘米,底面半径为r厘米的小圆桶的(h和r都是整数)。问大象至少要喝多少桶水才会解渴。

输入两个整数,分别表示中圆桶的深h和底面半径r,单位都是厘米。输出一个整数,表示大象至少要喝水的桶数。

'''如果一个圆桶的深为h厘米,底面半径为r厘米,那么它的体积为pi*r*r*h立方厘米。(pi=3.14,1升=1000毫升,1毫升=1立方厘米)'''

import math

r = int(input('请输入桶的底面半径:'))

h = int(input('请输入桶的高:'))

p = math.pi

v = p*r*r*h

num = math.ceil(20000 / v)

print(f'大象需要喝{num}桶水')

8.输入一个字符,用它构造一个底边长5个字符、高3个字符的等腰三角形。

str1 = input('请输入一个字符:')

print(f'  {str1}  ')

print(f' {str1}{str1}{str1} ')

print(f'{str1}{str1}{str1}{str1}{str1}')

9.利用Python转义字符中的制表符\t,将3名同学的学号、姓名、语文、数学、英语以对齐表格的形式输出,每名同学占一行。

print( "%-10s\t%-10s\t%-10s\t%-10s\t%-10s" %("学号","姓名","语文","数学","英语"))

print( "%-10s\t%-10s\t%-10s\t%-10s\t%-10s" %("09001","张三","88","95","90"))

print( "%-10s\t%-10s\t%-10s\t%-10s\t%-10s" %("09002","李四","91","97","86"))

print( "%-10s\t%-10s\t%-10s\t%-10s\t%-10s" %("09003","王五","88","95","90"))

10.利用切片字符串操作,输入一个月份的数字,输出对应月份的英文缩写。如输入3,输出Mar.的形式。

months = "Jan.Feb.Mar.Apr.May.Jun.Jul.Aug.Sep.Oct.Nov.Dec."

i=int(input('请输入一个数字:'))

j=(i-1)*4

print(f'对应的月份缩写为:{months[j:j+4]}')

11.按照1美元=6.96元人民币的汇率来编写一个美元与人民币的双向兑换程序,输入形式如100$或100¥。以$结尾表示美元,将其转换为人民币;以¥结尾表示人民币,将其转换为美元。输出结果保留2位小数。

money=input("请输入金额(美元以$结尾,人民币¥以结尾):")

l = len(money)-1

if money[-1] in ['']:

    U=eval(money[0:l])/6.96

    print("{:.2f}$".format(U))

elif money[-1] in ['$']:

    R=6.96*eval(money[0:l])

    print("{:.2f}".format(R))

else:

    print("输入格式错误")

12.制作一个密码验证程序。密码验证是很多应用软件必要的功能,为了给用户提供容错性良好的输入环境,本题设定,如果输入数据首尾包含空格,则忽略空格后再进行密码验证,且验证密码时不区分大小写。程序中的密码为“abc123”,如果输入“ABc123”“abc123”“aBC123”均认为密码正确,否则认为密码错误。

password = input('请输入密码:')

if password.strip().lower() == 'abc123' :

    print('密码正确')

else :

    print('密码错误')

13.输入一个字符串,表示某员工一周5天的出勤情况,其中A表示缺勤,L表示迟到,P表示出勤,如果不大于一次缺勤且不超过两次迟到,输出“合格”,否则输出“不合格”。例如,输入“APPPL”,输出“合格”。

s = input('请输入一个员工一周的出勤情况:')

if s.count('A') <= 1 and s.count('L') <= 2 :

    print('合格')

else:

    print('不合格')

14.输入任意大的自然数,输出各位数字之和。

a = input('请输入一个自然数:')

l = len(a)

num = 0

for i in range(0,l) :

    num = eval(a[i]) + num

print(num)

15.输入一个自然数,输出它的二进制、八进制、十六制表示形式。

Num = input("请输入任性自然数:")

Num = eval(Num)

print("二进制:",bin(Num))

print("八进制:",oct(Num))

print("十六进制:",hex(Num))

16.输入两个分别包含若干字符和整数的列表lstA和lstB,输出一个字典,要求使用列表lstA中的元素作为键,列表lstB中的元素作为值,并且最终字典中的元素数量取决于lstA和lstB中元素最少的列表的数量。

listA = eval(input("请输入listA列表:"))

listB = eval(input("请输入listB列表:"))

dicts = dict(zip(listA,listB))

print(dicts)

17.输入一个包含若干整数的列表,输出新列表,要求新列表中的所有元素来自于输入的列表,并且降序排列。

listA = eval(input("请输入包含若干整数的列表:"))

listA.sort()

listA.reverse()

print(listA)

  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黔瞐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值