Question 92
根据参加者在大学运动会的成绩表,你必须找出亚军的分数。你会得到分数。将它们存储在列表中并查找亚军的分数。
如果将以下字符串作为程序的输入:
5
2 3 6 6 5
然后,程序的输出应该是:
5
方法1:
n = int(input())
arr = map(int, input().split())
arr = list(set(arr))
arr.sort()
print(arr[-2])
方法2:
num = int(input())
scores = list(map(int, input().split(' ')))
winner = max(scores)
lst = []
if len(scores) != num:
print('length of score is greater than input given')
else:
for score in scores:
if winner > score:
lst.append(score)
runnerup = max(lst)
print(runnerup)
Question 93
给定字符串S和宽度W。你的任务是将字符串包装成一段宽度。
如果将以下字符串作为程序的输入:
ABCDEFGHIJKLIMNOQRSTUVWXYZ
4
然后,程序的输出应该是:
ABCD
EFGH
IJKL
IMNO
QRST
UVWX
YZ
方法1:
import textwrap
string = input()
width = int(input())
print(textwrap.fill(string,width))
方法2:
import itertools
string = input("> ")
width_length = int(input("What is the width of the groupings? "))
def grouper(string, width):
iters = [iter(string)] * width
return itertools.zip_longest(*iters, fillvalue='')
def displayer(groups):
for x in groups:
if x == '':
continue
else:
print(''.join(x))
displayer(grouper(string, width_length))
Question 94
给你一个整数N。你的任务是打印一个字母大小为N的rangoli。(Rangoli是一种基于图案创作的印度民间艺术形式。
不同大小的字母rangoli如下所示:
#size 3
----c----
–c-b-c–
c-b-a-b-c
–c-b-c–
----c----
#size 5
--------e--------
------e-d-e------
----e-d-c-d-e----
–e-d-c-b-c-d-e–
e-d-c-b-a-b-c-d-e
–e-d-c-b-c-d-e–
----e-d-c-d-e----
------e-d-e------
--------e--------
方法1:
import string
def print_rangoli(size):
n = size
alph = string.ascii_lowercase
width = 4 * n - 3
ans = []
for i in range(n):
left = '-'.join(alph[n - i - 1:n])
mid = left[-1:0:-1] + left
final = mid.center(width, '-')
ans.append(final)
if len(ans) > 1:
for i in ans[n - 2::-1]:
ans.append(i)
ans = '\n'.join(ans)
print(ans)
if __name__ == '__main__':
n = int(input())
print_rangoli(n)
方法2:
def rangoli(n):
# your code goes here
l1=list(map(chr,range(97,123)))
x=l1[n-1::-1]+l1[1:n]
mid=len('-'.join(x))
for i in range(1,n):
print('-'.join(l1[n-1:n-i:-1]+l1[n-i:n]).center(mid,'-'))
for i in range(n,0,-1):
print('-'.join(l1[n-1:n-i:-1]+l1[n-i:n]).center(mid,'-'))
rangoli(5)
Question 95
你有一个日期。你的任务是找出那天是什么日子。
单行输入,包含空格分隔的月、日和年,格式为MM DD YYYY。
08 05 2015
用大写字母输出正确的日期。
WEDNESDAY文章来源:https://www.toymoban.com/news/detail-466762.html
import calendar
month, day, year = map(int, input().split())
dayId = calendar.weekday(year, month, day)
print(calendar.day_name[dayId].upper())
Question 96
给定两组整数M和N,按升序打印它们的对称差。术语对称差指示存在于M或N中但不存在于两者中的那些值。
输入的第一行包含整数M。第二行包含M个空格分隔的整数。第三行包含整数N。第四行包含N个空格分隔的整数。
4
2 4 5 9
4
2 4 11 12
按升序输出对称差分整数,每行一个。
5
9
11
12文章来源地址https://www.toymoban.com/news/detail-466762.html
n = int(input())
set1 = set(map(int,input().split()))
m = int(input())
set2 = set(map(int, input().split()))
ans = list(set1 ^ set2)
ans.sort()
for i in ans:
print(i)
到了这里,关于100+Python挑战性编程练习系列 -- day 23的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!