Python-Übungen für Anfänger (3)

1. Schreiben Sie ein Programm, um die gemeinsamen Buchstaben zwischen zwei Wörtern zu finden.

Definieren Sie eine Funktion common_letters(), die zwei Parameter akzeptiert: word1und word2.
Diese Funktion sollte eine Zeichenfolge zurückgeben, die Buchstaben zwischen word1und enthält.word2
Die Buchstaben in der zurückgegebenen Zeichenfolge sollten Kleinbuchstaben sein und alphabetisch sortiert sein. Wenn keine identischen Buchstaben vorhanden sind, wird ein leerer String zurückgegeben.
def common_letters(word1, word2):
    w1 = set(word1)
    w2 = set(word2)
    s = ""
    for i in w1:
        for j in w2:
            if j == i:
                s = "".join(j) + s
    l = list(s)
    l.sort()
    s = "".join(l)
    return s
                
# 输入两个单词
word1 = input()
word2 = input()

# 调用函数, 并打印结果
print(common_letters(word1, word2))
2. Schreiben Sie ein Programm, um eindeutige Elemente aus verschachtelten Tupeln zu extrahieren.
Im verschachtelten Tupel erscheint beispielsweise ((1,2,3),(2,4,6),(2,3,5))2 dreimal und 3 zweimal, aber unsere Ausgabeliste enthält 2 und 3 nur einmal.
Im Augenblick:[1, 2, 3, 4, 5, 6]
Definieren Sie eine Funktion get_unique_elements(), die ein Argument akzeptiert – ein verschachteltes Tupel aus drei Tupeln.
Extrahieren Sie innerhalb der Funktion einzelne Elemente aus allen Tupeln und stellen Sie sicher, dass keine Elemente wiederholt extrahiert werden.
Gibt eindeutige Elemente als Liste zurück, sortiert vom kleinsten zum größten.
[Idee: In der Menge sind nur doppelte Werte nicht zulässig. Erstellen Sie zuerst eine leere Menge, durchlaufen Sie das Tupel, konvertieren Sie dann jedes Tupel in eine Menge (dh entfernen Sie doppelte Elemente) und fügen Sie es dann der neuen Menge hinzu. Schließlich , Die gesamte Sammlung wird in eine Liste umgewandelt und sortiert]
def get_unique_elements(nested_tuples):
    unique_elements = set()
    for tup in nested_tuples:
        unique_elements.update(set(tup))
    return sorted(list(unique_elements))

# 初始化嵌套元组
nested_tuples = []

# 获取用户输入
for _ in range(3):
    tuple_elements = tuple(map(int, input().split()))
    nested_tuples.append(tuple_elements)

# 调用函数
print(get_unique_elements(nested_tuples))

3. Schreiben Sie ein Programm, um die Anzahl identischer Zeichen zwischen zwei gegebenen Wörtern zu zählen.

Sie müssen berücksichtigen, dass bei Zeichen die Groß-/Kleinschreibung beachtet wird (d. h. a und A sind unterschiedliche Zeichen).

Beispielsweise haben die Wörter cookie und cool zwei gemeinsame Zeichen: c und o. Daher sollte die Ausgabe 2 sein.

Andererseits haben die Wörter Blow und Beer nicht die gleichen Zeichen, da B und b als unterschiedliche Zeichen behandelt werden.

Definieren Sie eine Funktion shared_chars_count()mit zwei Parametern: word1und word2.

Diese Funktion sollte die Anzahl identischer Buchstaben in zwei Wörtern zurückgeben.

[Idee: Es gibt zwei identische Buchstaben in einem Wort. Wenn Sie nur einen davon berechnen, müssen Sie an eine Mengenoperation denken. Wandeln Sie ihn in eine Menge um. Sie können dieselben Elemente entfernen und dann den Schnittpunkt der beiden Zeichen berechnen. Das ist das gleiche Zeichen und gibt schließlich nur die Länge zurück.

def shared_chars_count(word1, word2):
    set1 = set(word1)
    set2 = set(word2)
    shared_chars = set1 & set2
    return len(shared_chars)
            
# 获取输入
word1 = input()
word2 = input()

# 调用函数
print(shared_chars_count(word1, word2))

 4. Schreiben Sie ein Programm, um zu zählen, wie oft ein bestimmtes Zeichen in jedem Wort eines Satzes vorkommt.

Hinweis: Wir behandeln englische Groß- und Kleinbuchstaben als dasselbe Zeichen. Wenn ein Wort beispielsweise sowohl S als auch s enthält, werden beide als Vorkommen desselben Buchstabens s gezählt.

Definieren Sie eine Funktion count_char_occurrences()mit zwei Parametern: sentence(Satz) und char(Zeichen).

Innerhalb der Funktion wird es sentencein Kleinbuchstaben umgewandelt.

Gibt eine Liste zurück, die angibt, charwie oft jedes Wort im Satz vorkommt

示例输入:She sells sea shells by the seashore.  s

示例输出:[1, 2, 1, 2, 0, 0, 2]

[Idee: Zuerst alle Wörter in Kleinbuchstaben umwandeln, dann jedes Wort im Satz durchlaufen und beurteilen]

def count_char_occurrences(sentence, char):
    sentence = sentence.lower() # 将句子转换为小写
    result = [] # 存储每个单词中char出现的次数
    for word in sentence.split(): # 遍历每个单词
        count = 0 # 记录char出现的次数
        for c in word: # 遍历单词中的每个字符
            if c == char: # 如果字符与char相同
                count += 1 # char出现的次数加1
        result.append(count) # 将char出现的次数添加到结果列表中
    return result

# 获取输入 
sentence_input = input()
char_input = input()

# 调用函数 
print(count_char_occurrences(sentence_input, char_input))

5. Schreiben Sie ein Programm, das vor jedem Großbuchstaben in einem Wort ein Leerzeichen einfügt und dann jedes Zeichen in einer Zeichenfolge in Kleinbuchstaben umwandelt.

Definieren Sie die Funktion add_space_before_capital(), die ein Parameterwort akzeptiert. Fügen Sie in der Funktion vor jedem Großbuchstaben in der Zeichenfolge ein Leerzeichen ein, konvertieren Sie es in eine Kleinbuchstabenzeichenfolge und geben Sie es zurück.

Beispieleingabe myNewComputer Beispielausgabe meines neuen Computers

[Versuchen Sie im Code, die Leerzeichen vor jedem Großbuchstaben zu behandeln, indem Sie das Wort durch Leerzeichen in eine Liste aufteilen. Dieser Ansatz ist jedoch falsch. Vor jedem Großbuchstaben muss ein Leerzeichen eingefügt werden, anstatt das Wort in eine Liste aufzuteilen. ]

def add_space_before_capital(word):
    new_word = ""
    for i in word:
        if i.isupper():#判断是否为大写,并将其转换成小写
            new_word =new_word +  " " + i.lower()
        else:
            new_word =new_word +  i.lower()
    return new_word
# 获取用户输入
word = input()

# 调用函数
print(add_space_before_capital(word))

6. Schreiben Sie ein Programm, das Sätze nach dem letzten Buchstaben jedes Wortes sortiert.

Definieren Sie eine Funktion sort_by_last_char()mit Parametern sentence(die Sätze darstellen). Geben Sie innerhalb der Funktion die Sätze zurück, sortiert nach dem letzten Buchstaben jedes Wortes.
Beispieleingabe:i love python programming
Beispielausgabe:love programming i python
def sort_by_last_char(sentence):
     s = sentence.split()
     s.sort(key=lambda x: x[-1]) # 按照每个单词的最后一个字母排序
     return ' '.join(s) # 将排序后的单词列表合并成字符串,使用空格分隔

# 输入句子 
sentence = input()

# 调用函数 
print(sort_by_last_char(sentence))

おすすめ

転載: blog.csdn.net/qq_69424518/article/details/134319046