14道基础Python练习题(附答案)

  • Post category:Python

14道基础Python练习题攻略

这篇攻略将介绍14道基础Python练习题的解法,包括变量、数据类型、条件语句、循环语句、函数等基础知识点。每道题目会提供详细的解题思路和代码实现,并附带两个示例说明。

题目1:变量交换

题目描述:编写一个程序,交换两个变量的值。

解题思路:可以使用一个临时变量来交换两个变量的值。

a = 5
b = 10

# 交换变量的值
temp = a
a = b
b = temp

print('a =', a)
print('b =', b)

在这个示例中,我们首先定义了两个变量a和b,并它们的值分别设置为5和10。然后,我们使用一个临时变量temp来交换a和b的值。最后,我们输出交换后的a和b的值。

示例说明

假设我们需要在程序中交换两个变量的值,如下所示:

x = 10
y = 20

我们可以使用一个临时变量temp来交换x和y的值,代码如下所示:

temp = x
x = y
y = temp

交换后,x的值为20,y的值为10。

题目2:计算圆的面积

题目描述:编写一个程序,计算圆的面积。圆的面积公式为:$S = \pi r^2$。

解题思路:可以使用math库中的pi常量和函数来计算圆的面积。

import math

# 输入圆的半径
r = float(input('请输入圆的半径:'))

# 计算圆的面积
area = math.pi * pow(r, 2)

print('圆的面积为:', area)

在这个示例中我们首先使用input函数获取用户输入的圆的半径。然后,我们使用math库中的pi常量和pow函数计算圆的面积。最后,我们输出圆的面积。

示例说明

假设我们需要计算半径为5的圆的面积,我们可以使用以下代码:

import math

r = 5
area = math.pi * pow(r, 2)
print('圆的面积为:', area)

输出结果为:78.53981633974483。

题目:判断奇偶数

题目描述:编写一个程序,判断一个数是否为奇数或偶数。

解题思路:可以使用取模运算符%来判断一个数是否为奇数或偶数。

“`python# 输入一个整数
num = int(input(‘请输入一个整数:’))

判断奇偶数

if num % 2 == 0:
print(num, ‘是偶数’)
else:
print(num, ‘是奇数’)


在这个示例中,我们首先使用input函数获取用户输入的整数。然后,我们使用取模运算符%判断这个数是否为偶数。如果余数为0,则个数为偶数;否则,这个数为奇数。最后,我们输出判断结果。

### 示例说明

假设我们需要判断一个数是否为奇数或偶数,如下所示:

```python
num = 7

我们可以使用以下代码来判断这个数是否为奇数或偶数:

if num % 2 == 0:
    print(num, '是偶数')
else:
    print(num, '是奇数')

输出结果为:7是奇数。

题目4:判断闰年

题目描述:编写一个程序,判断一个年份是否为闰年。

解题思路:闰年的判断规则为:能被4整除但不能被100整除,或者能被400整除。

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

# 判断闰年
if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0:
    print(year, '是闰年')
else:
    print(year, '不是闰年')

在这个示例中,我们首先使用input函数获取用户输入的年份。然后,我们使用规则判断这个年份是否为闰年。如果满足判断规则,则这个年份为闰年;否则,这个年份不是闰年。最后,我们输出判断结果。

示例说明

假设我们需要判断2024年是否为闰年,我们可以使用以下代码:

year = 2024

if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0:
    print(year, '是闰年')
else:
    print(year, '不是闰年')

输出结果为:2024是闰年。

题目5:计算阶乘

题目描述:编写一个程序,计算一个数的阶乘。

解题思路:可以使用循环语句来计算一个数阶乘。

# 输入一个整数
num = int(input('请输入一个整数:'))

#算阶乘
factorial = 1
for i in range(1, num+1):
    factorial *= i

print(num, '的阶乘为:', factorial)

在这个示例中,我们首先使用input函数获取输入的整数。然后,我们使用循环语句计算这个数的阶乘。最后,我们输出计算结果。

示例说明

假设我们需要计算5的阶乘,我们可以使用以下代码:

num = 5

factorial = 1
for i in range(1, num+1):
    factorial *= i

print(num, '的阶乘为:', factorial)

输出结果为:5的阶乘为:120。

题目6:判断质数

题目描述:编写一个程序,判断一个数是否为质数。

解题思路:质数是指只能被1和自身整除的数。可以使用循环语句和取模运算符%来判断一个数是否为质数。

# 输入一个整数
num = int(input('请输入一个整数:'))

# 判断质数
if num > 1:
    for i in range(2, num):
        if num % i == 0:
            print(num, '不是质数')
            break
    else:
        print(num, '是质数')
else:
    print(num, '不是质数')

在这个示例中,我们首先使用input函数获取用户输入的整数。然后,我们使用循环语句和取模运符%判断这个数是否为质数。如果这个数能被2到num-1之的任意一个数整除,则这个数不是质数;否则,这个数是质数。最后,我们输出判断结果。

示例说明

假设我们需要判断7是否为质数,我们可以使用以下代码:

num = 7

if num > 1:
    for i in range(2, num):
        if num % i == 0:
            print(num, '不是质数')
            break
    else:
        print(num, '是质数')
else:
    print(num, '不是质数')

输出结果为:7是质数。

题目7:输出斐波那契数列

题目描述:编写一个程序,输出斐波那契数列。

解题思路:斐波那契数列是指前两个数1,从第三个数开始,每个数都是前两个数之和。可以使用循语句来输出斐波那契数列。

# 输入一个整数
num = int(input('请输入一个整数:'))

# 输出斐波那契数列
a, b = 1, 1
for i in range(num):
    print(a, end=' ')
    a, b = b, a+b

在这个示例中,我们使用两个循环语句输出斐波那契数列。外层循环控制行数,内层循环控制列数。我们使用两个变量a和b来表示斐波那契数列中的前两个数,然后使用循环语句计算并输出斐波那契数列中的每个数。

示例说明

假设我们需要输出斐波那契数列的前10个数,我们可以使用以下代码:

a, b = 1, 1
for i in range(10):
    print(a, end=' ')
    a, b = b, a+b

输出结果为:1 1 2 3 5 8 13 21 34 55。

题目8:判断回文数

题目描述:编写一个,判断一个数是否为回文数。

解题思路:回文数是指正着读和倒着读都一样的数。可以将这个数转换为字符串,然后判断字符串是否为回文字符串。

# 输入一个整数
num = int(input('请输入一个整数:'))

# 判断回文数
if str(num) == str(num)[::-1]:
    print(num, '是回文数')
else:
    print(num, '不是回文数')

在这个示例中,我们首先使用input函数获取用户输入的整数。然后,我们将这个数转换为字符串,并使用切片操作[::-1]将字符串反转。最后,我们判断反转后的是否与原字符串相等,从而判断这个数是否为回文数。

示例说明

假设我们需要判断121是否为回文数,我们可以使用以下代码:

num = 121

if str(num) == str(num)[::-1]:
    print(num, '是回文数')
else:
    print(num, '不是回文数')

输出结果为:121是回文数。

题目9:输出九九乘法表

题目描述:编写一个程序,输出九九乘法表。

解题思路:可以使用两个循环语句来输出九九乘法表。

# 输出九九乘法表
for i in range(1, 10):
    for j in range(1, i+1):
        print('{}x{}={}\'.format(j, i, i*j), end='')
    print()

在这个示例中,我们使用两个循环语句输出九九乘法表。外层循环控制行数,内层循环控制列数。我们使用format函数来格式化输出个乘法表达式,并使用end参数指定输出不换行。

示例说明

假设我们需要输出九九乘法表,我们可以使用以下代码:

for i in range(1, 10):
    for j in range(1, i+1):
        print('{}x{}={}\'.format(j, i, i*j), end='')
    print()

输出结果为:

1x1=1
1x2=2 2x2=4
1x3=3 2x3=6 3x3=9
1x4=4 2x4=8 3x4=12 4x4=16
1x5=5 2x5=10 3x5=15 4x5=20 5x5=25
1x6=6 2x6=12 3x6=18 4x6=24 5x6=30 6x6=36
1x7=7 2x7=14 3x7=21 4x7=28 5x7=35 6x7=42 7x7=49
1x8=8 2x8=16 3x8=24 4x8=32 5x8=40 6x8=48 7x8=56 8x8=64
1x9=9 2x9=18 3x9=27 4x9=36 5x9=45 6x9=54 7x9=63 8x9=72 9x9=81

题目10:计算两个数的最大公约数

题目描述:编写一个程序,计算两个数的最大公约数。

解题思路可以使用辗转相除法来计算两个数的最大公约数。

# 输入两个整数
num1 = int(input('请输入第一个整数:'))
num2 = int(input('请输入第二个整数:'))

# 计算最公约数
a, b = num1, num2
while b != 0:
    a, = b, a % b

print(num1, '和', num2, '的最大公约数为:', a)

在这个示例中,我们首先使用input函数用户输入的两个整数。然后,我们使用辗转相除法计算这两个数的最大公约数。我们使用两个变量a和b来表示这两个数,然后使用while循环语句计算它们的最大公约数。

示例说明

假设我们需要计算24和36的最大公约数,我们可以使用以下代码:

num1 = 24
num2 = 36

a, b = num1, num2
while b != 0:
    a, b = b, a % b

print(num1, '和', num2, '的最大公约数为:', a)

输出结果为:24和36的最大公约数为:12。

题目11:计算两个数的最小公倍数

题目描述:编写一个程序,计算两个数的最小公倍数。

解题思路:可以使用两个数的乘除以它们的最大公约数来计算它们的最小公倍数。

“`python# 输入两个整数
num1 = int(input请输入第一个整数:’))
num2 = int(input(‘请输入第二个整数:’))

计算最小公倍数

a, b = num1, num2
while b != 0:
a, b = b, a % b

lcm = num1 * num2 // a

print(num1, ‘和’, num2, ‘的最小公倍数为: lcm)


在这个示例中,我们首先使用input函数获取用户输入的两个整数。然后,我们使用辗转相除法计算这两个数的最大公约数。最后,我们使用两个数的乘积除以它们的最大公约数来计算它们的最小公倍数。

### 示例说明

假设我们需要计算24和36的最小公倍数,我们可以使用以下代码:

```python
num1 = 24
num2 = 36

a, b = num1, num2
while b != 0:
    a, b = b, a % b

lcm = num1 * num2 // a

print(num1, '和', num2, '的最小公倍数为:', lcm)

输出结果为:24和36的最小公倍数为:72。

题目12:判断回文字符串

题目描述:编写一个程序,判断一个字符串是否为回文字符串。

解题思路:回文字符串是指正着读和倒着读都一样的字符串。可以使用切片操作[::-1]将字符串反转,然后判断反转后的字符串是否与原字符串相等。

# 输入一个字符串
string input('请输入一个字符串:')

# 判断回文字符串
if string == string[::-1]:
    print(string, '是回文字符串')
else:
    print(string, '不是回文字符串')

在这个示例中,我们首先使用input函数获取用户输入的字符串。然后,我们使用切片操作[::-1]将字符串反转。最,我们判断反转后的字符串是否与原字符串相等,从而判断这个字符串是否为回文字符串。

示例说明

假设我们需要判断字符串“level”是否为回文字符串,我们可以使用以下代码:

string = 'level'

if string == string[::-1]:
    print(string, '是回文字符串')
else:
    print(string, '不是回文字符串')

输出结果为:level是回文字符串。

题目13:计算字符串中的字母和数字个数

题目描述:编写一个程序,计算一个字符串中的字母和数字个数。

解题思路:可以使用isalpha函数判断一个字符是否为字母,使用isdigit函数判断一个字符是否为数字。

# 输入一个字符串
string = input('请输入一个字符串:')

# 计算字母和数字个数
letters = 0
digits = 0
for char in string:
    if char.isalpha():
        letters += 1
    elif char.isdigit():
        digits += 1

print('字母个数:', letters)
print('数字个数:', digits)

在这个示例中,我们首先使用input函数获取用户输入的