100道python练习题(九)

请看以下第81到90题的代码示例:

  1. 编写一个程序,判断一个字符串是否是回文字符串。
def is_palindrome(string):
    string = string.lower()  # 忽略大小写
    clean_string = ''.join(filter(str.isalnum, string))  # 去除非字母数字字符
    return clean_string == clean_string[::-1]

text = input("请输入一个字符串:")

if is_palindrome(text):
    print(text, "是回文字符串")
else:
    print(text, "不是回文字符串")
  1. 编写一个程序,判断一个数是否是质数。
def is_prime(num):
    if num < 2:
        return False
    for i in range(2, int(num ** 0.5) + 1):
        if num % i == 0:
            return False
    return True

number = int(input("请输入一个整数:"))

if is_prime(number):
    print(number, "是质数")
else:
    print(number, "不是质数")
  1. 编写一个程序,生成斐波那契数列的前n项。
def fibonacci(n):
    if n <= 0:
        return []
    sequence = [0, 1]
    while len(sequence) < n:
        next_num = sequence[-1] + sequence[-2]
        sequence.append(next_num)
    return sequence

number = int(input("请输入一个正整数:"))

fib_sequence = fibonacci(number)

print("斐波那契数列的前", number, "项:", fib_sequence)
  1. 编写一个程序,找出一个列表中最大的元素。
def find_max(lst):
    if not lst:
        return None
    max_num = lst[0]
    for num in lst:
        if num > max_num:
            max_num = num
    return max_num

number_list = [1, 6, 3, 9, 2, 5]

max_number = find_max(number_list)

print("列表中最大的元素是:", max_number)
  1. 编写一个程序,判断两个字符串是否互为字母异位词。
from collections import Counter

def is_anagram(s1, s2):
    counter1 = Counter(s1)
    counter2 = Counter(s2)
    return counter1 == counter2

string1 = input("请输入第一个字符串:")
string2 = input("请输入第二个字符串:")

if is_anagram(string1, string2):
    print(string1, "和", string2, "互为字母异位词")
else:
    print(string1, "和", string2, "不互为字母异位词")
  1. 编写一个程序,判断一个年份是否是闰年。
def is_leap_year(year):
    if year % 4 == 0:
        if year % 100 == 0:
            if year % 400 == 0:
                return True
            else:
                return False
        else:
            return True
    else:
        return False

year = int(input("请输入一个年份:"))

if is_leap_year(year):
    print(year, "是闰年")
else:
    print(year, "不是闰年")
  1. 编写一个程序,找出一个列表中最小的元素。
def find_min(lst):
    if not lst:
        return None
    min_num = lst[0]
    for num in lst:
        if num < min_num:
            min_num = num
    return min_num

number_list = [1, 6, 3, 9, 2, 5]

min_number = find_min(number_list)

print("列表中最小的元素是:", min_number)
  1. 编写一个程序,将一个整数列表按照奇偶性进行分割。
def split_odd_even(nums):
    odd_nums = []
    even_nums = []
    for num in nums:
        if num % 2 == 0:
            even_nums.append(num)
        else:
            odd_nums.append(num)
    return odd_nums, even_nums

number_list = [1, 2, 3, 4, 5, 6, 7, 8, 9]

odd_numbers, even_numbers = split_odd_even(number_list)

print("奇数列表:", odd_numbers)
print("偶数列表:", even_numbers)
  1. 编写一个程序,判断一个字符串是否是有效的括号序列。
def is_valid_parentheses(s):
    stack = []
    paren_dict = {
    
    ")": "(", "]": "[", "}": "{"}
    for char in s:
        if char in {
    
    "(", "[", "{"}:
            stack.append(char)
        elif char in {
    
    ")", "]", "}"}:
            if not stack or stack.pop() != paren_dict[char]:
                return False
    return len(stack) == 0

sequence = input("请输入一个括号序列:")

if is_valid_parentheses(sequence):
    print(sequence, "是有效的括号序列")
else:
    print(sequence, "不是有效的括号序列")

这是第81到90题的代码示例。如果您还有其他问题,请继续提问!

猜你喜欢

转载自blog.csdn.net/m0_55877125/article/details/132323387