大学Python程序题题库.doc
程序设计 题目:补充fun函数,其功能是判断一个整数是否是素数,在主 函数main中输入一个整数,调用该fun函数进行判断并输 出结果。 要求:使用math相关函数 import math def fun(n): i,w=2,0 if n<=1: w=1 while i<=int(math.sqrt(n)) and w==0: if n%i==0: w=1 break else: i=i+1 return w def main(): print("【请连续四次判断输入的整数是否是素数:】") for i in range(4): print("【第%d次:】" %(i+1)) n=int(input('【请输入一个整数n:】')) if fun (n)==0: print("%d是素数" %n) else: print("%d不是素数" %n) if __name__ == '__main__': main() 题目:求100-999之间的水仙花数 说明:水仙花数是指一个三位数的各位数字的立方和是这个数本身。 例如:153=1^3+5^3+3^3)。 ----------------- 在给定的“大学Python程序题题库.doc”文档中,包含了三个编程题目,主要涉及Python编程的基础知识,包括素数判断、水仙花数计算以及日期处理。下面将逐一详细解析这些知识点。 1. **素数判断** 素数是大于1的自然数,它除了1和自身外没有其他正因数。提供的代码片段定义了一个名为`fun`的函数,用于判断输入的整数`n`是否为素数。函数首先检查`n`是否小于等于1,如果是,则直接返回1(表示非素数),因为1不是素数。然后,通过循环从2开始到`int(math.sqrt(n))`,检查是否有因子能整除`n`。如果找到因子,就设置标志变量`w`为1,并跳出循环。返回`w`的值,0表示`n`是素数,1表示不是素数。在`main`函数中,用户被要求输入4个整数,`fun`函数被用来判断每个输入的整数是否为素数,并输出相应的结果。 2. **水仙花数** 水仙花数是指一个三位数,其每一位数字的立方和等于该数本身。提供的代码片段定义了一个`main`函数来寻找100到999之间的所有水仙花数。通过遍历100到999,将三位数分解为百位数`h`、十位数`t`和个位数`s`,然后计算它们的立方和。如果这个和等于原始数字,那么该数就是水仙花数,将其打印出来。 3. **日期处理** 这个题目要求用户输入日期(格式为`yyyy-mm-dd`),然后计算这一天是一年中的第几天。代码中定义了一个`main`函数,首先通过`split('-')`将输入的字符串拆分成年、月、日,并转换为整数。接下来,根据月份的特性(如2月可能是28天或29天,其他月份可能是30天或31天)累加天数。加上日数,输出结果。 4. **平方运算限制** 最后一个题目要求计算输入数字的平方,但当平方值大于等于50时停止。这里定义了一个`power`函数,其中包含一个条件语句,如果`x`的平方大于等于50,那么函数可能需要执行某种操作,如返回结果或者退出,但具体的实现细节在提供的代码中缺失。 这些题目都是Python编程基础的典型应用,涵盖了条件判断、循环、函数、数学运算和字符串处理等基本概念,对于学习Python编程的大学生来说是非常好的练习材料。