题目描述: 编写一个程序,输入两个正整数,求它们的最大公约数。
示例输入:
num1 = 12
num2 = 18
示例输出:
最大公约数为:6
解答:
def gcd(num1, num2):
while num2 != 0:
temp = num2
num2 = num1 % num2
num1 = temp
return num1
num1 = int(input("请输入第一个数:"))
num2 = int(input("请输入第二个数:"))
print("最大公约数为:", gcd(num1, num2))
题目描述: 编写一个程序,判断给定的字符串是否是回文串。回文串是指正向和反向拼写都一样的字符串。
示例输入:
str = "level"
示例输出:
是回文串
解答:
def is_palindrome(str):
reverse_str = str[::-1]
if str == reverse_str:
return True
else:
return False
str = input("请输入一个字符串:")
if is_palindrome(str):
print("是回文串")
else:
print("不是回文串")
题目描述: 编写一个程序,统计一个字符串中每个字符出现的频率。
示例输入:
str = "hello world"
示例输出:
字符 'h' 出现 1 次
字符 'e' 出现 1 次
字符 'l' 出现 3 次
字符 'o' 出现 2 次
字符 'w' 出现 1 次
字符 'r' 出现 1 次
字符 'd' 出现 1 次
解答:
def count_chars(str):
char_freq = {}
for char in str:
if char in char_freq:
char_freq[char] += 1
else:
char_freq[char] = 1
return char_freq
str = input("请输入一个字符串:")
char_freq = count_chars(str)
for char, freq in char_freq.items():
print(f"字符 '{char}' 出现 {freq} 次")
题目描述: 编写一个程序,将给定列表中的元素按照奇偶性分成两个子列表。
示例输入:
nums = [1, 2, 3, 4, 5, 6, 7, 8, 9]
示例输出:
奇数列表:[1, 3, 5, 7, 9]
偶数列表:[2, 4, 6, 8]
解答:
def split_nums(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
nums = [int(x) for x in input("请输入一个由整数组成的列表:").split()]
odd_nums, even_nums = split_nums(nums)
print("奇数列表:", odd_nums)
print("偶数列表:", even_nums)
题目描述: 编写一个程序,判断给定的数是否是素数(质数),素数是指大于1且只能被1和自身整除的数。
示例输入:
num = 17
示例输出:
是素数
解答:
def is_prime(num):
if num <= 1:
return False
for i in range(2, int(num**0.5) + 1):
if num % i == 0:
return False
return True
num = int(input("请输入一个正整数:"))
if is_prime(num):
print("是素数")
else:
print("不是素数")