Python的进阶之道【AIoT阶段一(上)】(十五万字博文 保姆级讲解)—玩转Python语法(一):面向过程—Python程序设计训练场—打怪刷级(5)(二十八)

简介: 玩转Python语法(一):面向过程

6.2.7 单词替换

题目描述:

输入一个字符串,以回车结束(字符串长度不超过 100)。

该字符串由若干个单词组成,单词之间用一个空格隔开,所有单词区分大小写。

现需要将其中的某个单词替换成另一个单词,并输出替换之后的字符串。

输入格式:

输入共 3行。

第 1 行是包含多个单词的字符串 s;

第 2 行是待替换的单词 a(长度不超过 100);

第 3 行是 a 将被替换的单词 b(长度不超过 100)。

输出格式:

共一行,输出将 s 中所有单词 a 替换成 b 之后的字符串。

输入样例:

You want someone to help you
You
I

输出样例:

I want someone to help you

在线评测环境:AcWing 770. 单词替换

代码:

str = input().split(' ')
a = input()
b = input()
for i in range(len(str)):
    if (str[i] == a):
        str[i] = b
str1 = ' '.join(str)
print(str1)

6.2.8 字符串中最长的连续出现的字符

题目描述:

求一个字符串中最长的连续出现的字符,输出该字符及其出现次数,字符串中无空白字符(空格、回车和 tab),如果这样的字符不止一个,则输出第一个。

输入格式:

第一行输入整数 N,表示测试数据的组数。

每组数据占一行,包含一个不含空白字符的字符串,字符串长度不超过 200。

输出格式:

共一行,输出最长的连续出现的字符及其出现次数,中间用空格隔开。

输入样例:

2
aaaaabbbbbcccccccdddddddddd
abcdefghigk

输出样例:

d 10
a 1

在线评测环境:AcWing 771. 字符串中最长的连续出现的字符

代码:

n = int(input())
for i in range (n):
    s = input()
    cnt, cc = 0, ''
    max, mc = 0, ''
    for i in range (len(s)):
        if (s[i]) == cc:
            cnt += 1
        if s[i] != cc or i == len(s) - 1:
            if max < cnt:
                max = cnt
                mc = cc
            cnt = 1
            cc = s[i]
    print (mc, max)

6.2.9 最长单词

题目描述:

一个以. 结尾的简单英文句子,单词之间用空格分隔,没有缩写形式和其它特殊形式,求句子中的最长单词。

输入格式:

输入这个简单英文句子,长度不超过 500。

输出格式:

该句子中最长的单词。如果多于一个,则输出第一个。

输入样例:

I am a student of Peking University.

输出样例:

University

在线评测环境:AcWing 774. 最长单词

代码:

s = input()
s = s[:-1].split()
m = ''
for i in s:
    if len(i) > len(m):
        m = i
print(m)

6.2.10 倒排单词

题目描述:

编写程序,读入一行英文(只包含字母和空格,单词间以单个空格分隔),将所有单词的顺序倒排并输出,依然以单个空格分隔。

输入格式:

输入为一个字符串(字符串长度至多为 100)。

输出格式:

输出为按要求排序后的字符串。

输入样例:

I am a student

输出样例:

student a am I

在线评测环境:AcWing 775. 倒排单词

代码:

s = input().split(' ')
s.reverse()
s = ' '.join(s)
print(s)

6.2.11 递归求斐波那契数列

题目描述:

请使用递归的方式求斐波那契数列的第 n 项。

斐波那契数列:1,1,2,3,5…,这个数列从第 3 项开始,每一项都等于前两项之和

输入格式:

共一行,包含整数 n。

输出格式:

共一行,包含一个整数,表示斐波那契数列的第 n 项。

输入样例:

4

输出样例:

3

在线评测环境:AcWing 820. 递归求斐波那契数列

代码:

def mul(n):
    if n == 1:
        return 1
    elif n == 2:
        return 1
    else:
        return mul(n - 1) + mul(n - 2)
n = int(input())
print(mul(n))

6.2.12 最大公约数

题目描述:

输入两个整数 a 和 b,请你编写一个函数,int gcd(int a, int b), 计算并输出 a 和 b 的最大公约数。

输入格式:

共一行,包含两个整数 a 和 b。

输出格式:

共一行,包含一个整数,表示 a 和 b 的最大公约数。

输入样例:

12 16

输出样例:

4

在线评测环境:AcWing 808. 最大公约数

代码:

def gcd(m, n):
    min = m
    if m > n :
        min = n
    for i in range(min, 0, -1):
        if m % i == 0 and n % i == 0:
            return i
m, n = input().split()
print(gcd(int(m), int(n)))


6.2.13 最小公倍数

题目描述:

输入两个整数 a 和 b,请你编写一个函数,int lcm(int a, int b),计算并输出 a 和 b 的最小公倍数。

输入格式:

共一行,包含两个整数 a 和 b。

输出格式:

共一行,包含一个整数,表示 a 和 b 的最小公倍数。

输入样例:

6 8

输出样例:

24

在线评测环境:AcWing 809. 最小公倍数

代码:

def gcd(m, n):
    min = m
    if m > n :
        min = n
    for i in range(min, 0, -1):
        if m % i == 0 and n % i == 0:
            return i
def lcm(m, n):
    return m * n // gcd(m, n)
m, n = input().split()
print(lcm(int(m), int(n)))


目录
相关文章
|
18天前
|
Java 编译器 C语言
Python速成篇(基础语法)上
Python速成篇(基础语法)上
|
1月前
|
Java 程序员 C++
【python】—— 基础语法(二)
【python】—— 基础语法(二)
|
1月前
|
编译器 测试技术 C++
【Python 基础教程 01 全面介绍】 Python编程基础全攻略:一文掌握Python语法精髓,从C/C++ 角度学习Python的差异
【Python 基础教程 01 全面介绍】 Python编程基础全攻略:一文掌握Python语法精髓,从C/C++ 角度学习Python的差异
167 0
|
10天前
|
Python
python面型对象编程进阶(继承、多态、私有化、异常捕获、类属性和类方法)(上)
python面型对象编程进阶(继承、多态、私有化、异常捕获、类属性和类方法)(上)
53 0
|
10天前
|
Python
02-python的基础语法-01python字面量/注释/数据类型/数据类型转换
02-python的基础语法-01python字面量/注释/数据类型/数据类型转换
|
18天前
|
存储 监控 Java
Python速成篇(基础语法)下(新年快乐♥)
Python速成篇(基础语法)下(新年快乐♥)
|
19天前
|
安全 数据安全/隐私保护 Python
292: 程序设计C 实验五 题目三 设计密码(python)
292: 程序设计C 实验五 题目三 设计密码(python)
|
24天前
|
Java C语言 C++
【Python】5. 基础语法(3) -- 函数篇
【Python】5. 基础语法(3) -- 函数篇
26 1
|
24天前
|
存储 Java 程序员
【Python】6. 基础语法(4) -- 列表+元组+字典篇
【Python】6. 基础语法(4) -- 列表+元组+字典篇
41 1
|
1月前
|
Python
探索Python集合推导式的进阶应用
探索Python集合推导式的进阶应用