跳至主要內容

墩墩大题3「嘉兴大学Python期末补救计划」

AI悦创原创Python 一对一教学嘉兴大学PythonPython 一对一教学嘉兴大学Python大约 4 分钟...约 1161 字

Question 1

输入一个正整数,将其各数位上的数字逆序输出。

例如,输入的格式:

输入一个正整数:

234520

输出格式:

025432

程序有两个空(1)、(2)需要补充完整。

print("输入一个正整数:")
a = input()

'''
/***********found***********/'''
b=a[____(1)____]

'''
/***********found***********/'''
print(____(2)____)  

Solution 1

在 Python 中,可以通过切片来实现字符串的反转。这里的代码中,应该在(1)的位置填入::-1,来反转字符串a,即b = a[::-1]。然后,(2)处应该打印变量b,即print(b)。填充后的代码如下:

print("输入一个正整数:")
a = input()

'''
/***********found***********/'''
b=a[::-1]

'''
/***********found***********/'''
print(b)

此代码将首先读取用户的输入,然后反转这个输入,最后打印反转后的结果。

Question 2

将字符串 1 的第0, 2, 4, 6, 8,......位置上的字符复制到字符串 2 并输出。

例如,当字符串 1 为“This Is a Python Program”

则字符串 2 为“Ti saPto rga"

def nono(*args):
    with open(r"out1.dat", "w", True, encoding="utf-8") as f:
        f.write(" ".join(list(map(str, [*args]))))
		

#将字符串pre_str的第0,2,4,6,8,......位置上的字符复制到字符串post_str中。


pre_str = "RmhsHOVBhSRMtTZNryfLHCepzoevISURBoqUBKNyltReKwrxYkaihWJFmhUkzZsPwkgrxAkjlvbZpdEnDQthsInXzDKfohHIcNLF"
post_str = ""
'''
/***********begin***********/'''



'''
/***********end************/'''

print("post_str={}".format(post_str))
nono(post_str)

Solution 2

在这段代码中,我们需要获取原始字符串 pre_str 的偶数位置(索引从 0 开始)上的字符,并将其复制到 post_str 字符串中。我们可以通过 Python 的切片操作来实现这个功能,代码如下:

pre_str = "RmhsHOVBhSRMtTZNryfLHCepzoevISURBoqUBKNyltReKwrxYkaihWJFmhUkzZsPwkgrxAkjlvbZpdEnDQthsInXzDKfohHIcNLF"
post_str = ""

'''
/***********begin***********/
'''

# 使用切片操作获取偶数索引的字符
post_str = pre_str[::2]

'''
/***********end************/
'''

print("post_str={}".format(post_str))
nono(post_str)

切片操作pre_str[::2]的含义是从pre_str中选取从开始到结束的字符,步长为2,所以它只会选取偶数位置的字符(因为索引从0开始,所以0、2、4、6...等都是偶数索引)。

这种方式非常方便,无需遍历原始字符串或创建新的循环,就可以直接获取所有的偶数位置字符。

Question 3

任意输入一个百分制分数,将其转换为等级制(五级):优秀[90-100],良好[80, 90),中等[70, 80),及格[60, 70)和不及格[0, 60)。

例如:

输入:-3

输出:分数须 0-100!

输入:70

输出:中等

score=eval(input())
'''
/************found************/'''
if score>=100 or score<=0:
    print("分数须0-100!")
elif score>=90:
    print("优秀")
elif score>=80:
    print("良好")
elif score>=70:
    print("中等")
    '''
    /************found************/'''
if score>60:
    print("及格")
else:
    print("不及格") 

Solution 3

它需要用户输入一个分数,然后将其转换为五级评分:优秀、良好、中等、及格、不及格。程序代码已经大致完成,但有一些错误,特别是在处理输入范围和转换到各个等级的条件上。下面是修复这些问题后的代码:

score=eval(input())
'''
/************found************/'''
if score>100 or score<0:
    print("分数须0-100!")
elif score>=90:
    print("优秀")
elif score>=80:
    print("良好")
elif score>=70:
    print("中等")
elif score>=60:
    print("及格")
else:
    print("不及格")
'''
/************found************/'''

在这段修复的代码中,首先检查输入的分数是否在0到100的范围内。如果不在,则输出错误信息。然后,使用elif语句按照降序检查分数范围,以确保将分数正确地转换为五级评分。

公众号:AI悦创【二维码】

AI悦创·编程一对一

AI悦创·推出辅导班啦,包括「Python 语言辅导班、C++ 辅导班、java 辅导班、算法/数据结构辅导班、少儿编程、pygame 游戏开发、Web、Linux」,全部都是一对一教学:一对一辅导 + 一对一答疑 + 布置作业 + 项目实践等。当然,还有线下线上摄影课程、Photoshop、Premiere 一对一教学、QQ、微信在线,随时响应!微信:Jiabcdefh

C++ 信息奥赛题解,长期更新!长期招收一对一中小学信息奥赛集训,莆田、厦门地区有机会线下上门,其他地区线上。微信:Jiabcdefh

方法一:QQopen in new window

方法二:微信:Jiabcdefh

上次编辑于:
贡献者: AndersonHJB
你认为这篇文章怎么样?
  • 0
  • 0
  • 0
  • 0
  • 0
  • 0
评论
  • 按正序
  • 按倒序
  • 按热度