请看以下第71到80题的代码示例:
- 编写一个程序,计算两个整数的最大公约数(GCD)。
def gcd(a, b):
while b != 0:
a, b = b, a % b
return a
num1 = int(input("请输入第一个整数:"))
num2 = int(input("请输入第二个整数:"))
result = gcd(num1, num2)
print("最大公约数是:", result)
- 编写一个程序,找出一个列表中第一个重复的元素。
from collections import Counter
def find_first_duplicate(lst):
counter = Counter(lst)
for item in lst:
if counter[item] > 1:
return item
return None
num_list = [1, 2, 3, 4, 2, 5, 3]
first_duplicate = find_first_duplicate(num_list)
if first_duplicate:
print("第一个重复的元素是:", first_duplicate)
else:
print("列表中没有重复的元素")
- 编写一个程序,判断一个数是否是完全平方数。
def is_perfect_square(num):
if num < 0:
return False
sqrt_num = int(num ** 0.5)
return sqrt_num * sqrt_num == num
number = int(input("请输入一个整数:"))
if is_perfect_square(number):
print(number, "是完全平方数")
else:
print(number, "不是完全平方数")
- 编写一个程序,将一个字符串列表按照字母顺序进行排序。
string_list = ['apple', 'banana', 'cherry', 'date']
sorted_list = sorted(string_list)
print("按字母顺序排序后的列表:", sorted_list)
- 编写一个程序,判断一个字符串是否是有效的数独。
def is_valid_sudoku(board):
rows = [set() for _ in range(9)]
cols = [set() for _ in range(9)]
boxes = [set() for _ in range(9)]
for i in range(9):
for j in range(9):
num = board[i][j]
if num != ".":
if num in rows[i] or num in cols[j] or num in boxes[(i//3)*3 + (j//3)]:
return False
rows[i].add(num)
cols[j].add(num)
boxes[(i//3)*3 + (j//3)].add(num)
return True
# 示例数独二维列表
sudoku = [
["5","3",".",".","7",".",".",".","."],
["6",".",".","1","9","5",".",".","."],
[".","9","8",".",".",".",".","6","."],
["8",".",".",".","6",".",".",".","3"],
["4",".",".","8",".","3",".",".","1"],
["7",".",".",".","2",".",".",".","6"],
[".","6",".",".",".",".","2","8","."],
[".",".",".","4","1","9",".",".","5"],
[".",".",".",".","8",".",".","7","9"]
]
if is_valid_sudoku(sudoku):
print("数独有效")
else:
print("数独无效")
- 编写一个程序,找出一个列表中缺失的数字。
def find_missing_numbers(nums):
n = len(nums) + 1
full_set = set(range(1, n))
num_set = set(nums)
missing_nums = list(full_set - num_set)
return missing_nums
number_list = [1, 2, 4, 6, 7, 9]
missing_numbers = find_missing_numbers(number_list)
print("缺失的数字是:", missing_numbers)
- 编写一个程序,将一个正整数转换为罗马数字。
def int_to_roman(num):
roman_dict = {
1000: "M",
900: "CM",
500: "D",
400: "CD",
100: "C",
90: "XC",
50: "L",
40: "XL",
10: "X",
9: "IX",
5: "V",
4: "IV",
1: "I"
}
roman_num = ""
for value, symbol in roman_dict.items():
count = num // value
roman_num += symbol * count
num %= value
return roman_num
number = int(input("请输入一个正整数:"))
roman_number = int_to_roman(number)
print("罗马数字表示:", roman_number)
- 编写一个程序,统计一个字符串中每个字符出现的次数。
string = input("请输入一个字符串:")
char_count = {}
for char in string:
if char in char_count:
char_count[char] += 1
else:
char_count[char] = 1
print("每个字符出现的次数:")
for char, count in char_count.items():
print(char, ":", count)
- 编写一个程序,找出一个列表中唯一的元素。
from collections import Counter
def find_unique_elements(lst):
counter = Counter(lst)
unique_elements = [item for item, count in counter.items() if count == 1]
return unique_elements
num_list = [1, 2, 3, 4, 2, 5, 3]
unique_elements = find_unique_elements(num_list)
print("列表中唯一的元素:", unique_elements)
- 编写一个程序,计算一个数的阶乘。
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)
number = int(input("请输入一个非负整数:"))
result = factorial(number)
print(number, "的阶乘是:", result)
这是第71到80题的代码示例。如果您还有其他问题,请随时提问!