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题的代码示例。如果您还有其他问题,请继续提问!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hhb_618

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值