python成绩转换、百分制到五分制、异常处理_Python123 练习8

这篇博客介绍了如何使用Python进行百分制成绩转换为五分制,包括输入验证和异常处理。通过示例代码展示了成绩转换的逻辑,并提供了用户登录的简单实现。

文章目录

1. 人生苦短我用python

2. 存款利息

3. 月份缩写(一)

4. 月份缩写(二)

5. 百分制成绩转换五分制

6. 用户登录A

7. 用户登录B

8. 程序填空题 - 合并队列

9. 判断素数函数

1. 人生苦短我用python

输入一个小于等于12的整数n,逐个输出字符串 ‘人生苦短我用python’ 中前n个字符,每个字符后输出一个半角逗号和一个空隔。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

输入格式:一个小于等于12的整数n

输出格式:‘人生苦短我用python’ 中前n个字符,每个字符后输出一个半角逗号和一个空隔。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

答案

n = int(input())

x = '人生苦短我用python'

for i in range(n):

print('{}'.format(x[i]),end=', ')

2. 存款利息

在三行中依次输入初始金额,年限,利率,计算并输出存款到期时的利息(不含本金,税前),结果保留2位小数。

输入格式:第一行输入一个正整数(金额),‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬第二行输入一个正整数(年限)‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬,第三行输入一个浮点数(利率)

输出格式:利息=计算结果

答案

amount = int(input())

year = int(input())

rate = float(input())

amounts = amount

for i in range(year):

amounts = amounts*(1 + rate)

result = amounts - amount

print('利息={:.2f}'.format(result))

3. 月份缩写(一)

如果有 months = “Jan.Feb.Mar.Apr.May.Jun.Jul.Aug.Sep.Oct.Nov.Dec.”,编写一个程序,用户输入一个月份的数字,输出月份的缩写。

输入格式:一个1-12的正整数

输出格式:一个字符串,月份的缩写

答案1 字符串

n = int(input())

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

print(months[4*n-4: 4*n])

答案2 列表

n = int(input())

months = ['Jan.','Feb.','Mar.','Apr.','May.','Jun.','Jul.','Aug.','Sep.','Oct.','Nov.','Dec.']

print(months[n-1])

4. 月份缩写(二)

如果有 months = “Jan.Feb.Mar.Apr.May.Jun.Jul.Aug.Sep.Oct.Nov.Dec.”,编写一个程序,用户输入一个月份的数字,输出月份的缩写。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

当输入的数字不在112之间时,输出“请输入112之间的数字!”

输入格式: 一个整数

输出格式: 输入1-12间的数字时,输出一个代表月份的缩写的字符串‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬.否则输出“请输入1~12之间的数字!”

答案

n = int(input())

months = ['Jan.','Feb.','Mar.','Apr.','May.','Jun.','Jul.','Aug.','Sep.','Oct.','Nov.','Dec.']

if n in [1,2,3,4,5,6,7,8,9,10,11,12]:

print(months[n-1])

else:

print('请输入1~12之间的数字!')

5. 百分制成绩转换五分制

编写一个学生成绩转换程序,用户输入百分制的学生成绩,成绩大于或等于90的输出为“A”,成绩大于或等于80且小于90的输出为“B”,成绩大于或等于70且小于80的输出为“C”,成绩大于或等于60且小于70的输出为“D”,成绩小于60的输出为“E”

输入格式:输入一个不超过100的正数,代表百分制成绩。

输出格式:A、B、C、D、E中的一个字母,表示五分制的成绩等级

答案

n = int(input())

if n >= 90:

print('A')

elif 80 <= n < 90:

print('B')

elif 70 <= n < 80:

print('C')

elif 60 <= n < 70:

print('D')

else:

print('E')

6. 用户登录A

实现用户输入用户名和密码,当用户名为 admin且密码为123456时,显示“登录成功”,否则显示“登录失败”。

输入格式:用户在两行里分别输入用户名和密码

输出格式:“登录成功"或"登录失败”

答案

x = input()

y = input()

if x == 'admin' and y == '123456':

print('登录成功')

else:

print('登录失败')

7. 用户登录B

实现用户输入用户名和密码,当用户名为 admin且密码为123456时,显示“登录成功”,否则显示“登录失败”,如果登录失败,允许重复输入三次。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

输入格式:用户在两行里分别输入用户名和密码‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

输出格式:“登录成功"或"登录失败”

答案

count = 0

while count <= 3:

x = input()

y = input()

if x == 'admin' and y == '123456':

print('登录成功')

break

else:

print('登录失败')

count += 1

else:

print('登录失败')

8. 程序填空题 - 合并队列

某班男女两队同学各若干人,男生已按身高由低到高存放在列表中,女生身高需输入到一个列表。体育课排队欲由男、女两队合为一队。请保持从低到高的顺序不变,将合并队列的结果按格式"身高(性别)"输出。如下所示b63ace5aba657370de56c1688160a4d9.png

2f0a10f29f47c85b2d60457f440acd88.png

答案

boy = [1.69, 1.72, 1.78, 1.83, 1.89]

girl = list(eval(input()))

girl.sort()

print('男队身高:', end='')

for b in boy:

print(b, end=' ')

print('\n女队身高:', end='')

for g in girl:

print(g, end=' ')

print('\n合并后:', end='')

i, j = 0, 0

while j < len(girl):

if boy[i] < girl[j]:

print(boy[i], '(男)', sep='', end = ' ')

i += 1

else:

print(girl[j], '(女)', sep='', end = ' ')

j += 1

while i < len(boy):

print(boy[i], '(男)', sep='', end = ' ')

i += 1

while j < len(girl):

print(girl[j], '(女)', sep='', end = ' ')

j +=1

9. 判断素数函数

写一个函数isPrime(n)用于判断一个数字n是不是素数,用户输入一个正整数,在一行内输出不大于该数的所有素数,各数后面用一个空格分隔。

输入格式: 输入一个正整数

输出格式: 不大于该数的所有素数,各数后面用一个空格分隔。

答案

import math

def isPrime(n):

if n > 1:

if n == 2:

return True

if n % 2 == 0:

return False

for current in range(3, int(math.sqrt(n) + 1), 2):

if n % current == 0:

return False

return True

else:

return False

x = int(input())

for n in range(1,x+1):

if isPrime(n) == True:

print(n,end=' ')

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值