《现代AI基础》(微课视频版) 第2章 课后思考题答案_第1页
《现代AI基础》(微课视频版) 第2章 课后思考题答案_第2页
《现代AI基础》(微课视频版) 第2章 课后思考题答案_第3页
《现代AI基础》(微课视频版) 第2章 课后思考题答案_第4页
《现代AI基础》(微课视频版) 第2章 课后思考题答案_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论