下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1章课后思考题答案1.定义变量并输出类型和值代码如下:#定义不同类型的变量integer_var=42float_var=3.14159string_var="Hello,Python!"boolean_var=True#输出变量类型和值print(f"整数:{integer_var},类型:{type(integer_var)}")print(f"浮点数:{float_var},类型:{type(float_var)}")print(f"字符串:{string_var},类型:{type(string_var)}")print(f"布尔值:{boolean_var},类型:{type(boolean_var)}")2.用户输入数值计算代码如下:#获取用户输入num1=float(input("请输入第一个数值:"))num2=float(input("请输入第二个数值:"))#计算和、差、积print(f"和:{num1+num2}")print(f"差:{num1-num2}")print(f"积:{num1*num2}")#计算商,处理除数为零的情况ifnum2!=0:print(f"商:{num1/num2}")else:print("错误:除数不能为零!")3.列表操作代码如下:#构造包含不同数据类型的列表mixed_list=[1,3.14,"Python",True,[1,2,3],{"key":"value"}]#通过索引访问第三个元素print(f"第三个元素:{mixed_list[2]}")#使用切片操作提取前两个元素print(f"前两个元素:{mixed_list[:2]}")4.闰年判断代码如下:#获取用户输入的年份year=int(input("请输入一个年份:"))#判断是否为闰年if(year%4==0andyear%100!=0)or(year%400==0):print(f"{year}年是闰年")else:print(f"{year}年不是闰年")5.统计偶数和与奇数个数代码如下:#初始化统计变量even_sum=0odd_count=0#遍历0到100之间的整数foriinrange(101):ifi%2==0:even_sum+=ielse:odd_count+=1print(f"偶数的总和:{even_sum}")print(f"奇数的个数:{odd_count}")6.温度转换模块代码如下:#temperature_converter.py模块文件defcelsius_to_fahrenheit(celsius):"""摄氏度转华氏度"""returncelsius*9/5+32deffahrenheit_to_celsius(fahrenheit):"""华氏度转摄氏度"""return(fahrenheit-32)*5/9#主程序if__name__=="__main__":#测试摄氏度转华氏度celsius=25fahrenheit=celsius_to_fahrenheit(celsius)print(f"{celsius}°C={fahrenheit}°F")#测试华氏度转摄氏度fahrenheit=77celsius=fahrenheit_to_celsius(fahrenheit)print(f"{fahrenheit}°F={celsius}°C")7.数据库操作代码如下:importsqlite3#创建数据库连接conn=sqlite3.connect('products.db')cursor=conn.cursor()#创建products表cursor.execute('''CREATETABLEIFNOTEXISTSproducts(idINTEGERPRIMARYKEY,nameTEXTNOTNULL,priceREALNOTNULL)''')#插入数据products_data=[(1,'笔记本电脑',5999.99),(2,'智能手机',2999.99),(3,'平板电脑',1999.99),(4,'智能手表',899.99),(5,'耳机',299.99)]cursor.executemany('INSERTORREPLACEINTOproductsVALUES(?,?,?)',products_data)mit()#查询价格大于100的产品cursor.execute('SELECT*FROMproductsWHEREprice>100')results=cursor.fetchall()print("价格大于100的产品:")forrowinresults:print(f"ID:{row[0]},名称:{row[1]},价格:{row[2]}")#关闭连接conn.close()8.CSV文件处理代码如下:importcsv#读取学生成绩文件defcalculate_averages(input_file,output_file):try:withopen(input_file,'r',encoding='utf-8')asinfile:reader=csv.DictReader(infile)#获取所有科目(除了学生姓名列)subjects=[fieldforfieldinreader.fieldnamesiffield!='姓名']#初始化各科总分和计数subject_sums={subject:0forsubjectinsubjects}subject_counts={subject:0forsubjectinsubjects}#读取数据并计算forrowinreader:forsubjectinsubjects:try:score=float(row[subject])subject_sums[subject]+=scoresubject_counts[subject]+=1except(ValueError,KeyError):continue#计算平均分averages={subject:subject_sums[subject]/subject_counts[subject]ifsubject_counts[subject]>0else0forsubjectinsubjects}#写入结果文件withopen(output_file,'w',encoding='utf-8',newline='')asoutfile:writer=csv.writer(outfile)writer.writerow(['科目','平均分'])forsubject,avginaverages.items():writer.writerow([subject,round(avg,2)])print(f"各科平均分已计算并保存到{output_file}")exceptFileNotFoundError:print(f"错误:找不到文件{input_file}")exceptExceptionase:print(f"发生错误:{e}")#使用示例#calculate_averages('student_scores.csv','subject_averages.csv')NumPy随机数统计与可视化代码如下:importnumpyasnpimportmatplotlib.pyplotasplt#生成1000个随机数random_numbers=np.random.randn(1000)#计算均值和标准差mean_value=np.mean(random_numbers)std_value=np.std(random_numbers)print(f"均值:{mean_value:.4f}")print(f"标准差:{std_value:.4f}")#绘制直方图plt.figure(figsize=(10,6))plt.hist(random_numbers,bins=30,edgecolor='black',alpha=0.7)plt.title('随机数分布直方图')plt.xlabel('数值')plt.ylabel('频数')plt.grid(True,alpha=0.3)#添加均值线plt.axvline(mean_value,color='red',linestyle='--',linewidth=2,label=f'均值:{mean_value:.2f}')plt.legend()plt.tight_layout()plt.show()股票收益率分析(进阶练习)代码如下:importpandasaspdimportmatplotlib.pyplotaspltdefanalyze_stock_returns(csv_file):try:#读取股票价格数据df=pd.read_csv(csv_file)#假设数据包含日期和收盘价列#计算每日收益率:(今日价格-昨日价格)/昨日价格df['daily_return']=df['close'].pct_change()*100#移除第一行(因为无法计算收益率)df=df.dropna()#打印统计信息print("股票收益率统计:")print(f"平均日收益率:{df['daily_return'].mean():.2f}%")print(f"收益率标准差:{df['daily_return'].std():.2f}%")print(f"最大单日涨幅:{df['daily_return'].max():.2f}%")print(f"最大单日跌幅:{df['daily_return'].min():.2f}%")#绘制收益率折线图plt.figure(figsize=(12,6))plt.plot(df['date'],df['daily_return'],linewidth=1)plt.title('股票每日收益率变化')plt.xlabel('日期')plt.ylabel('收益率(%)')plt.grid(True,alpha=0.3)#添加零线plt.axhline(y=0,color='red',linestyle='-',linewidth=0.5)plt.xticks(rotation=45)plt.tight_layout()plt.show()returndfexcept
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年齐鲁理工学院单招职业技能考试模拟试卷及参考答案详解(完整版)
- 2025年常德职业技术学院单招职业技能考试模拟试卷含完整答案详解【夺冠】
- 2027年山东园林技师学院高职单招职业技能考试题库往年题考附答案详解
- 2025年内江技师学院单招职业技能考试题库及参考答案详解【模拟题】
- 2025年山东省菏泽市单招综合素质考试题库(各地真题)附答案详解
- 2024年青岛市技师学院高职部高职单招职业适应性测试考试模拟试卷及答案详解一套
- 2027年安阳洹河职业学院单招职业技能考试题库(网校专用)附答案详解
- (正式版)DB34∕T 4409-2023 《皖南中蜂养殖技术规范》
- 幼儿园纪律教育主题班会
- 2026年六盘水市钟山区法检系统书记员招聘笔试备考试题及答案详解
- 解读慢性阻塞性肺病(GOLD)指南(2026)更新要点课件
- 光伏电站运行维护规程
- THIS001-2022红外热电堆传感器
- 外墙水包砂质保合同范本
- 肢体创伤后水肿管理指南解读
- 招标代理业务管理规范与操作指南
- 旅游直播培训课件
- T/CAPA 3-2021毛发移植规范
- 急诊治疗过程中的医患沟通技巧
- 旅游客车交通安全检查
- 金属基体上的金属覆盖层 电沉积和化学沉积层 附着强度试验方法评述
评论
0/150
提交评论