浙大版《Python 程序设计》题目集第3章-19——第4章-1

第3章-19 找最长的字符串

本题要求编写程序,针对输入的N个字符串,输出其中最长的字符串。

输入格式:
输入第一行给出正整数N;随后N行,每行给出一个长度小于80的非空字符串,其中不会出现换行符,空格,制表符。

输出格式:
在一行中用以下格式输出最长的字符串:

The longest is: 最长的字符串

如果字符串的长度相同,则输出先输入的字符串。

输入样例:

5
li
wang
zhang
jin
xiang

输出样例:

The longest is: zhang

答案样例:

a = int(input())
longest = 0
s = ''
for i in range(a):
    b = input()
    if len(b)>longest:
        longest = len(b)
        s = b
print(f'The longest is: {s}')

第3章-20 逆序的三位数

程序每次读入一个正3位数,然后输出按位逆序的数字。注意:当输入的数字含有结尾的0时,输出不应带有前导的0。比如输入700,输出应该是7。

输入格式:
每个测试是一个3位的正整数。

输出格式:
输出按位逆序的数。

输入样例:

123

输出样例:

321

答案样例:

print(int(input()[::-1]))

第3章-21 判断回文字符串

输入一个字符串,判断该字符串是否为回文。回文就是字符串中心对称,从左向右读和从右向左读的内容是一样的。

输入格式:
输入在一行中给出一个不超过80个字符长度的、以回车结束的非空字符串。

输出格式:
输出在第1行中输出字符串。如果它是回文字符串,在第2行中输出Yes,否则输出No。

输入样例1:

level

输出样例1:

level
Yes

输入样例2:

1 + 2 = 2 + 1 =

输出样例2:

1 + 2 = 2 + 1 =
No

答案样例:

s1 = input()
if s1 == s1[::-1]:
    print(f'{s1}\nYes')
else:
    print(f'{s1}\nNo')

第3章-22 输出大写英文字母

本题要求编写程序,顺序输出给定字符串中所出现过的大写英文字母,每个字母只输出一遍;若无大写英文字母则输出“Not Found”。

输入格式:
输入为一个以回车结束的字符串(少于80个字符)。

输出格式:
按照输入的顺序在一行中输出所出现过的大写英文字母,每个字母只输出一遍。若无大写英文字母则输出“Not Found”。

输入样例1:

FONTNAME and FILENAME

输出样例1:

FONTAMEIL

输入样例2:

fontname and filrname

输出样例2:

Not Found

答案样例:

s = input()
flag = False
s1 = ''
for i in s:
    if i.isupper() and i not in s1:
        s1 += i
        flag = True# 要是没有大写字母,flag就一直是False
if flag:
    print(s1)
else:
    print('Not Found')

第4章-1 生成3的乘方表

输入一个非负整数n,生成一张3的乘方表,输出3^0 ~ 3^n的值。可调用幂函数计算3的乘方。

输入格式:
输入在一行中给出一个非负整数n。

输出格式:
按照幂的递增顺序输出n+1行,每行格式为“pow(3,i) = 3的i次幂的值”。题目保证输出数据不超过长整型整数的范围。

输入样例:

3

输出样例:

pow(3,0) = 1
pow(3,1) = 3
pow(3,2) = 9
pow(3,3) = 27

答案样例:

a = int(input())
for i in range(a+1):
    print(f'pow(3,{i}) = {3**i}')
    # 也可以导入math模块里的pow方法,但是要记住pow的返回值有一位小数位0

猜你喜欢

转载自blog.csdn.net/hmh4640219/article/details/113518287