目录
一、简单条件判断
题目描述
代码实现
思路讲解
二、成绩等级判断
题目描述
代码实现
思路讲解
三、猜数字游戏
题目描述
代码实现
思路讲解
四、计算阶乘
题目描述
代码实现
思路讲解
五、累加求和
题目描述
代码实现
思路讲解
六、判断素数
题目描述
代码实现
思路讲解
七、打印九九乘法表
题目描述
代码实现
思路讲解
八、数字反转
题目描述
代码实现
思路讲解
在 Python 编程学习过程中,基础练习对于巩固知识、提升编程能力至关重要。本文将详细解析一系列常见的 Python 编程基础练习题,希望能帮助大家更好地理解和掌握 Python 编程。
编写一个程序,要求用户输入一个整数,判断该数是正数、负数还是零,并输出相应的结果。
sum = int(input("请输入一个整数:"))
if sum > 0:
print("该数是正数")
elif sum < 0:
print("该数为负数")
else:
print("该数为0")
首先,通过input()函数获取用户输入的字符串,并使用int()函数将其转换为整数类型,赋值给变量sum。然后,使用if - elif - else条件判断语句对sum的值进行判断。如果sum大于 0,则输出 “该数是正数”;如果sum小于 0,则输出 “该数为负数”;否则(即sum等于 0),输出 “该数为 0”。
编写一个程序,要求用户输入一个成绩(0 - 100 之间的整数),根据成绩输出对应的等级:
grade = int(input("请输入成绩(0 - 100整数)"))
if grade >= 90:
print("A")
elif grade >= 80:
print("B")
elif grade >= 70:
print("C")
elif grade >= 60:
print("D")
else:
print("E")
先使用input()和int()函数获取并转换用户输入的成绩,存储在grade变量中。接着,通过多个if - elif语句,按照成绩从高到低的顺序进行判断。当grade满足某个分数段的条件时,输出对应的等级。注意,这里的条件判断顺序很重要,如果顺序颠倒可能会导致结果错误。
编写一个程序,随机生成一个 1 到 100 之间的整数,让用户猜这个数字。如果用户猜的数字比目标数字大,输出 “太大了”;如果比目标数字小,输出 “太小了”;如果猜中了,输出 “恭喜你,猜对了!” 并结束程序。
import random
target_number = random.randint(1, 100)
while True:
guess = int(input("请猜一个整数: "))
if guess > target_number:
print("太大了")
elif guess < target_number:
print("太小了")
else:
print("恭喜你,猜对了!")
break
首先,通过import random导入 Python 的随机数模块。然后使用random.randint(1, 100)生成一个 1 到 100 之间的随机整数,赋值给target_number。接下来,使用一个无限循环while True,在循环内部获取用户输入的猜测数字guess。通过if - elif - else条件判断语句,将guess与target_number进行比较,根据比较结果输出相应的提示信息。当用户猜对时,使用break语句跳出循环,结束程序。
编写一个程序,要求用户输入一个正整数,使用 while 循环计算该数的阶乘并输出结果。
i = int(input("请输入一个正整数"))
res = 1
while i > 0:
res = res * i
i -= 1
print(res)
先获取用户输入的正整数并赋值给i。初始化结果变量res为 1,因为任何数的 0 阶乘定义为 1。在while循环中,每次将res乘以当前的i值,然后i减 1。当i变为 0 时,循环结束,此时res的值即为输入数的阶乘,最后输出res。
编写一个程序,要求用户输入一个正整数 n,使用 while 循环计算 1 到 n 的所有整数的和并输出结果。
amt = int(input("输入一个正整数n:"))
sum_value = 0
while amt > 0:
sum_value += amt
amt -= 1
print(sum_value)
获取用户输入的正整数amt。初始化累加和变量sum_value为 0。在while循环中,每次将当前的amt值加到sum_value上,然后amt减 1。当amt变为 0 时,循环结束,此时sum_value即为 1 到输入数n的所有整数的和,最后输出sum_value。
编写一个程序,要求用户输入一个正整数,判断该数是否为素数(质数),并输出相应的结果。
ser = int(input("输入一个正整数:"))
if ser <= 1:
print("该数不是素数")
else:
i = 2
while i * i <= ser:
if ser % i == 0:
print("该数不是素数")
break
i += 1
else:
print("该数是素数")
先获取用户输入的正整数ser。如果ser小于等于 1,直接输出 “该数不是素数”,因为素数定义为大于 1 的自然数。对于大于 1 的数,从 2 开始检查是否存在能整除ser的数。这里使用while i * i <= ser作为循环条件,相比while i < ser能提高效率,因为如果一个数不是素数,那么它至少有一个因数小于等于它的平方根。在循环中,如果找到能整除ser的数i,则输出 “该数不是素数” 并使用break跳出循环;如果循环正常结束(即没有找到能整除的数),则输出 “该数是素数”。
编写一个程序,使用 while 循环打印出九九乘法表。
i = 1
while i <= 9:
j = 1
while j <= i:
print(f"{j}*{i}={j * i}", end="\t")
j += 1
print()
i += 1
使用两层while循环来实现。外层循环控制行数,变量i从 1 到 9,代表乘法表中的每一行。内层循环控制每一行中的列数,变量j从 1 到当前的i值,代表每一行中乘法表达式的第一个因数。在内层循环中,使用print()函数按照j*i=j * i的格式输出乘法表达式,并使用end="\t"参数使输出结果在同一行以制表符分隔。内层循环结束后,使用print()函数换行,以便输出下一行。外层循环每执行一次,i加 1,直到i大于 9 时循环结束,完成九九乘法表的打印。
编写一个程序,要求用户输入一个正整数,使用 while 循环将该数字反转并输出结果。例如,输入 1234,输出 4321。
rep = int(input("请输入正整数:"))
reversed_num = 0
while rep > 0:
digit = rep % 10
reversed_num = reversed_num * 10 + digit
rep //= 10
print(reversed_num)
获取用户输入的正整数rep。初始化反转后的数字变量reversed_num为 0。在while循环中,通过rep % 10获取rep的个位数字digit,然后将reversed_num乘以 10 并加上digit,实现将digit添加到反转后的数字中。接着,使用整数除法rep //= 10去掉rep的个位数字。当rep变为 0 时,循环结束,此时reversed_num即为反转后的数字,最后输出reversed_num。
通过对这些基础编程练习的详细解析,希望大家能更深入地理解 Python 的基本语法和编程逻辑,在今后的编程学习中能够举一反三,不断提升自己的编程水平。