用python完成以下代码 1.利用函数编写一个程序,判断传入的字符串参数是否为“回文联”(回文联即用回文形式写成的对联,即可顺读,也可倒读。例如:处处飞花飞处处)。 2.利用递归求最大公约数。 3.编写函数,判断一个年份是否为闰年(年份数能被4整除但不能被100整除,或者能被400整除) 4.编写函数,计算三门课的总分和平均分。
时间: 2024-01-21 15:18:28 浏览: 79
1. 判断回文联的函数:
```python
def is_palindrome(string):
# 将字符串转换为小写并去除空格
string = string.lower().replace(' ', '')
# 判断翻转后是否与原字符串相同
return string == string[::-1]
```
2. 递归求最大公约数的函数:
```python
def gcd(a, b):
if b == 0:
return a
return gcd(b, a % b)
```
3. 判断闰年的函数:
```python
def is_leap_year(year):
return year % 4 == 0 and year % 100 != 0 or year % 400 == 0
```
4. 计算总分和平均分的函数:
```python
def calc_scores(s1, s2, s3):
total = s1 + s2 + s3
avg = total / 3
return total, avg
```
完整代码如下:
```python
# 判断回文联的函数
def is_palindrome(string):
# 将字符串转换为小写并去除空格
string = string.lower().replace(' ', '')
# 判断翻转后是否与原字符串相同
return string == string[::-1]
# 递归求最大公约数的函数
def gcd(a, b):
if b == 0:
return a
return gcd(b, a % b)
# 判断闰年的函数
def is_leap_year(year):
return year % 4 == 0 and year % 100 != 0 or year % 400 == 0
# 计算总分和平均分的函数
def calc_scores(s1, s2, s3):
total = s1 + s2 + s3
avg = total / 3
return total, avg
# 测试
print(is_palindrome("处处飞花飞处处"))
print(gcd(24, 36))
print(is_leap_year(2020))
print(calc_scores(80, 90, 85))
```
阅读全文