网站建设公司程序,wordpress换到新服务器,广东省住房及建设厅官方网站,wordpress yeti主题实验目的
熟悉选择结构嵌套时代码的缩进与对齐。理解带 else 子句的循环结构执行流程和条件表达式 value1 if condition else value2 的用法。熟悉使用循环和异常处理机构对用户输入进行约束的用法。掌握Python程序中进行选择、循环流程控制的语句、语法#xff0c;熟练运用选…实验目的
熟悉选择结构嵌套时代码的缩进与对齐。理解带 else 子句的循环结构执行流程和条件表达式 value1 if condition else value2 的用法。熟悉使用循环和异常处理机构对用户输入进行约束的用法。掌握Python程序中进行选择、循环流程控制的语句、语法熟练运用选择结构和循环结构解决实际问题。掌握函数的定义与调用。熟练掌握lambda表达式的使用理解变量作用域的意义、各种函数参数类型的使用。
实验内容
编写程序输入一个大于 2 的自然数然后输出小于该数字的所有素数组成的列表。 所谓素数是指除了1和其自身之外没有其他因数的自然数23571113……
参考代码 程序代码
maxNumber int(input(请输入一个大于2的自然数))
lst list(range(2, maxNumber))
m int(maxNumber ** 0.5)for index, value in enumerate(lst):if value m:breaklst[index1:] filter(lambda x: x % value ! 0, lst[index1:])print(lst) 2运行结果截图 编写程序输入若干个成绩求所有成绩的平均分。每输入一个成绩后询问是否继续输入下一个成绩回答“yes”就继续输入下一个成绩回答“no”就停止输入成绩。
参考代码 程序代码
numbers [] # 使用列表存放成绩数据
while True:x input(请输入一个成绩)try:numbers.append(float(x)) # 将输入的成绩转换为浮点数并添加到列表except ValueError:print(不是合法成绩请输入一个数值。)continue # 继续下一次循环不添加非法成绩while True:flag input(继续输入吗yes/no) # 询问用户是否继续输入# 限定用户输入内容必须为yes或noif flag.lower() not in (yes, no):print(只能输入yes或no)else:breakif flag.lower() no: # 如果用户选择no则结束循环breakif numbers: # 如果列表不为空计算平均分average sum(numbers) / len(numbers)print(f所有成绩的平均分是{average:.2f})
else:print(没有输入任何成绩。) 2运行结果截图 编写程序模拟猜数游戏。程序运行时系统生成一个随机数然后提示用户进行猜测并根据用户输入进行必要的提示猜对了、太大了、太小了如果猜对则提前结束程序如果次数用完仍没有猜对提示游戏结束并给出正确答案。
参考代码 程序代码
from random import randintdef guessNumber(maxValue10, maxTimes3):value randint(1, maxValue) # 随机生成一个1到10之间的整数for i in range(maxTimes):prompt Start to GUESS: if i 0 else Guess again:try:x int(input(prompt))except:print(Must input an integer between 1 and, maxValue)else:if x value:print(Congratulations!)breakelif x value:print(Too little.)else:print(Too big.)else: # 检查是否用完了所有的猜测次数print(Game Over. FAIL.)print(fThe value was {value}.)guessNumber() 2运行结果截图 编写程序输入一个字符串输出该字符所为密码时的安全强度。
程序代码
import string
def check(pwd):if not isinstance(pwd, str) or len(pwd) 8:return not suitable for password# 初始化密码强度等级与包含字符种类的对应关系d {1: weak, 2: below middle, 3: above middle, 4: strong}# 初始化一个列表用来标记密码是否含有数字、小写字母、大写字母和标点符号r [False] * 4for ch in pwd:# 是否包含数字if not r[0] and ch in string.digits:r[0]True# 是否包含小写字母if not r[1] and ch in string.ascii_lowercase:r[1]True# 是否包含大写字母if not r[2] and ch in string.ascii_uppercase:r[2]True# 是否包含指定的标点符号if not r[3] and ch in ,.!:?:r[3]True# 统计包含的字符种类 返回密码强度return d.get(r.count(True), error)
# 测试函数
print(check(a26%Cd.)) 2运行结果截图 编程实现查找字符串中每个字符的首次出现。给定一个任意字符串要求得到一个新字符串重复字符只保留一个并且新字符串中的字符保持在原字符串中首次出现的先后顺序。例如abcdaaabe处理后应得到abcde。使用两种不同的方法
程序代码
from random import choice
from string import digitsdef func1(text):# 转换为集合去重result set(text)# 按其在原字符串中的先后顺序把集合里的字符连接为字符串result .join(sorted(result, keytext.index))return resultdef func2(text):result[]for ch in text:if ch not in result:result.append(ch)return .join(result)text .join(choice(digits) for _ in range(30)) # 随机字符串
print(text)
print(func1(text))
print(func2(text)) 2运行结果截图 实验任务
学习教材第1章、第2章内容根据实验内容练习相关编程知识。
独立完成如下编程任务并提交实验报告。报告撰写要求详见模板文档
编写程序输入一个包含若干整数的列表输出列表中所有整数连乘的结果。
1程序代码
from functools import reduce
import operatordef multiply_list_numbers(numbers):# 使用reduce和operator.mul来计算列表中所有整数的连乘结果result reduce(operator.mul, numbers, 1)return result# 输入一个包含若干整数的列表
input_numbers list(map(int, input(请输入一个包含若干整数的列表以空格分隔).split()))# 输出列表中所有整数连乘的结果
print(multiply_list_numbers(input_numbers)) 2运行结果截图 实验总结
在本次实验中我深入地学习了Python中的流程控制、函数设计和使用以及异常处理和输入验证等重要概念。通过编写不同的程序我不仅巩固了理论知识而且提高了解决实际问题的能力。
知识点小结
我熟悉了选择结构嵌套时的代码缩进与对齐这对于保持代码的可读性至关重要。
我理解了带else子句的循环结构执行流程。
我掌握了如何使用循环和异常处理对用户输入进行约束确保程序能够处理不合法的输入。
我学习了如何定义和调用函数这有助于我创建模块化的代码提高了代码的复用性。
我熟练掌握了lambda表达式的使用并对变量作用域和函数参数类型有了更深刻的理解。
实验体会
通过本次实验我体会到了编程不仅仅是写代码更重要的是如何设计出清晰、高效、可维护的程序。我学会了如何通过编写函数来简化复杂的问题并通过合理的输入验证来提高程序的健壮性。
未解决的问题
尽管我在实验中取得了进步但在处理大型程序和复杂逻辑时我仍然感到有些挑战。我还需要进一步学习如何组织代码结构以及如何更有效地使用高级Python特性如列表推导式、生成器表达式和装饰器。
改进的方法
的Python代码特别是那些开源项目和专业代码库以学习更优秀的编程实践。
参与更多的编程练习和项目以提高解决实际问题的能力。