Problem D: 输出矩形#号图

该博客介绍如何利用编程基本输出语句来绘制指定形状的矩形,具体表现为连续的'#'号。博客内容包括问题描述、输入输出说明及示例。

Problem D: 输出矩形#号图

Time Limit: 1 Sec   Memory Limit: 128 MB

Description


用基本输出语句打印以下图形:

########
########
########
########
########
########
import numpy as np import scipy.stats as stats from scipy.integrate import dblquad import matplotlib.pyplot as plt # ========== 数据输入 & 参初始化 ========== sigma = 120 # 水平坐标标准差(m) sub_half_len = 50 # 潜艇半长(100/2,m) sub_half_wid = 10 # 潜艇半宽(20/2,m) sub_half_height = 12.5 # 潜艇半高(25/2,m) kill_radius = 20 # 杀伤半径(m) depth_center = 150 # 潜艇中心深度(无误差,m) # ========== 模型核心函 ========== def prob_case1(): """情形1:触发引信概率(落点在矩形内 + 深度有效)""" norm_dist = stats.norm(0, sigma) p_x = norm_dist.cdf(sub_half_len) - norm_dist.cdf(-sub_half_len) p_y = norm_dist.cdf(sub_half_wid) - norm_dist.cdf(-sub_half_wid) return p_x * p_y # 深度固定为150,必然在[137.5,162.5]内 def prob_circle(h): """情形2+3:定深引信概率(距离≤杀伤半径,极坐标积分)""" radius_sq = kill_radius**2 - (h - depth_center)**2 if radius_sq < 0: return 0.0 radius = np.sqrt(radius_sq) def integrand(r, theta): # 二维正态概率密度(极坐标,面积元r dr dθ) return (r / (2 * np.pi * sigma**2)) * np.exp(-r**2 / (2 * sigma**2)) prob, _ = dblquad(integrand, 0, 2*np.pi, lambda _: 0, lambda _: radius) return prob # ========== 结果计算 & 输出 ========== p1 = prob_case1() p_circle = prob_circle(depth_center) total_prob = p1 + p_circle print("\n=== 问题1 结果 ===") print(f" 触发引信概率(情形1):{p1:.4f}") print(f" 定深引信概率(h={depth_center}m):{p_circle:.4f}") print(f" 总命中概率:{total_prob:.4f}") print(f" 最优方案:落点(0,0),定深引信深度{depth_center}m(触发引信有效区间内)") # ========== 可视化(定深深度对概率的影响) ========== h_range = np.linspace(130, 170, 100) p_circle_list = [prob_circle(h) for h in h_range] plt.figure(figsize=(8,4)) plt.plot(h_range, p_circle_list, label=&#39;定深引信概率&#39;) plt.axvline(depth_center, color=&#39;r&#39;, linestyle=&#39;--&#39;, label=&#39;潜艇中心深度&#39;) plt.xlabel(&#39;定深引信深度h(m)&#39;) plt.ylabel(&#39;概率&#39;) plt.title(&#39;问题1:定深深度对命中概率的影响&#39;) plt.legend() plt.grid(True) plt.savefig(&#39;problem1_plot.png&#39;) plt.show()D:\python\pythonProject\.venv\Scripts\python.exe D:\python\pythonProject1\1.py === 问题1 结果 === 触发引信概率(情形1):0.0215 定深引信概率(h=150m):0.0138 总命中概率:0.0352 最优方案:落点(0,0),定深引信深度150m(触发引信有效区间内) D:\python\pythonProject1\1.py:62: UserWarning: Glyph 27010 (\N{CJK UNIFIED IDEOGRAPH-6982}) missing from font(s) DejaVu Sans. plt.savefig(&#39;problem1_plot.png&#39;) D:\python\pythonProject1\1.py:62: UserWarning: Glyph 29575 (\N{CJK UNIFIED IDEOGRAPH-7387}) missing from font(s) DejaVu Sans. plt.savefig(&#39;problem1_plot.png&#39;) D:\python\pythonProject1\1.py:62: UserWarning: Glyph 38382 (\N{CJK UNIFIED IDEOGRAPH-95EE}) missing from font(s) DejaVu Sans. plt.savefig(&#39;problem1_plot.png&#39;) D:\python\pythonProject1\1.py:62: UserWarning: Glyph 39064 (\N{CJK UNIFIED IDEOGRAPH-9898}) missing from font(s) DejaVu Sans. plt.savefig(&#39;problem1_plot.png&#39;) D:\python\pythonProject1\1.py:62: UserWarning: Glyph 65306 (\N{FULLWIDTH COLON}) missing from font(s) DejaVu Sans. plt.savefig(&#39;problem1_plot.png&#39;) D:\python\pythonProject1\1.py:62: UserWarning: Glyph 23450 (\N{CJK UNIFIED IDEOGRAPH-5B9A}) missing from font(s) DejaVu Sans. plt.savefig(&#39;problem1_plot.png&#39;) D:\python\pythonProject1\1.py:62: UserWarning: Glyph 28145 (\N{CJK UNIFIED IDEOGRAPH-6DF1}) missing from font(s) DejaVu Sans. plt.savefig(&#39;problem1_plot.png&#39;) D:\python\pythonProject1\1.py:62: UserWarning: Glyph 24230 (\N{CJK UNIFIED IDEOGRAPH-5EA6}) missing from font(s) DejaVu Sans. plt.savefig(&#39;problem1_plot.png&#39;) D:\python\pythonProject1\1.py:62: UserWarning: Glyph 23545 (\N{CJK UNIFIED IDEOGRAPH-5BF9}) missing from font(s) DejaVu Sans. plt.savefig(&#39;problem1_plot.png&#39;) D:\python\pythonProject1\1.py:62: UserWarning: Glyph 21629 (\N{CJK UNIFIED IDEOGRAPH-547D}) missing from font(s) DejaVu Sans. plt.savefig(&#39;problem1_plot.png&#39;) D:\python\pythonProject1\1.py:62: UserWarning: Glyph 20013 (\N{CJK UNIFIED IDEOGRAPH-4E2D}) missing from font(s) DejaVu Sans. plt.savefig(&#39;problem1_plot.png&#39;) D:\python\pythonProject1\1.py:62: UserWarning: Glyph 30340 (\N{CJK UNIFIED IDEOGRAPH-7684}) missing from font(s) DejaVu Sans. plt.savefig(&#39;problem1_plot.png&#39;) D:\python\pythonProject1\1.py:62: UserWarning: Glyph 24433 (\N{CJK UNIFIED IDEOGRAPH-5F71}) missing from font(s) DejaVu Sans. plt.savefig(&#39;problem1_plot.png&#39;) D:\python\pythonProject1\1.py:62: UserWarning: Glyph 21709 (\N{CJK UNIFIED IDEOGRAPH-54CD}) missing from font(s) DejaVu Sans. plt.savefig(&#39;problem1_plot.png&#39;) D:\python\pythonProject1\1.py:62: UserWarning: Glyph 24341 (\N{CJK UNIFIED IDEOGRAPH-5F15}) missing from font(s) DejaVu Sans. plt.savefig(&#39;problem1_plot.png&#39;) D:\python\pythonProject1\1.py:62: UserWarning: Glyph 20449 (\N{CJK UNIFIED IDEOGRAPH-4FE1}) missing from font(s) DejaVu Sans. plt.savefig(&#39;problem1_plot.png&#39;) D:\python\pythonProject1\1.py:62: UserWarning: Glyph 65288 (\N{FULLWIDTH LEFT PARENTHESIS}) missing from font(s) DejaVu Sans. plt.savefig(&#39;problem1_plot.png&#39;) D:\python\pythonProject1\1.py:62: UserWarning: Glyph 65289 (\N{FULLWIDTH RIGHT PARENTHESIS}) missing from font(s) DejaVu Sans. plt.savefig(&#39;problem1_plot.png&#39;) D:\python\pythonProject1\1.py:62: UserWarning: Glyph 28508 (\N{CJK UNIFIED IDEOGRAPH-6F5C}) missing from font(s) DejaVu Sans. plt.savefig(&#39;problem1_plot.png&#39;) D:\python\pythonProject1\1.py:62: UserWarning: Glyph 33351 (\N{CJK UNIFIED IDEOGRAPH-8247}) missing from font(s) DejaVu Sans. plt.savefig(&#39;problem1_plot.png&#39;) D:\python\pythonProject1\1.py:62: UserWarning: Glyph 24515 (\N{CJK UNIFIED IDEOGRAPH-5FC3}) missing from font(s) DejaVu Sans. plt.savefig(&#39;problem1_plot.png&#39;) C:\Users\hp\AppData\Local\Programs\Python\Python312\Lib\tkinter\__init__.py:862: UserWarning: Glyph 23450 (\N{CJK UNIFIED IDEOGRAPH-5B9A}) missing from font(s) DejaVu Sans. func(*args) C:\Users\hp\AppData\Local\Programs\Python\Python312\Lib\tkinter\__init__.py:862: UserWarning: Glyph 28145 (\N{CJK UNIFIED IDEOGRAPH-6DF1}) missing from font(s) DejaVu Sans. func(*args) C:\Users\hp\AppData\Local\Programs\Python\Python312\Lib\tkinter\__init__.py:862: UserWarning: Glyph 24341 (\N{CJK UNIFIED IDEOGRAPH-5F15}) missing from font(s) DejaVu Sans. func(*args) C:\Users\hp\AppData\Local\Programs\Python\Python312\Lib\tkinter\__init__.py:862: UserWarning: Glyph 20449 (\N{CJK UNIFIED IDEOGRAPH-4FE1}) missing from font(s) DejaVu Sans. func(*args) C:\Users\hp\AppData\Local\Programs\Python\Python312\Lib\tkinter\__init__.py:862: UserWarning: Glyph 24230 (\N{CJK UNIFIED IDEOGRAPH-5EA6}) missing from font(s) DejaVu Sans. func(*args) C:\Users\hp\AppData\Local\Programs\Python\Python312\Lib\tkinter\__init__.py:862: UserWarning: Glyph 65288 (\N{FULLWIDTH LEFT PARENTHESIS}) missing from font(s) DejaVu Sans. func(*args) C:\Users\hp\AppData\Local\Programs\Python\Python312\Lib\tkinter\__init__.py:862: UserWarning: Glyph 65289 (\N{FULLWIDTH RIGHT PARENTHESIS}) missing from font(s) DejaVu Sans. func(*args) C:\Users\hp\AppData\Local\Programs\Python\Python312\Lib\tkinter\__init__.py:862: UserWarning: Glyph 27010 (\N{CJK UNIFIED IDEOGRAPH-6982}) missing from font(s) DejaVu Sans. func(*args) C:\Users\hp\AppData\Local\Programs\Python\Python312\Lib\tkinter\__init__.py:862: UserWarning: Glyph 29575 (\N{CJK UNIFIED IDEOGRAPH-7387}) missing from font(s) DejaVu Sans. func(*args) C:\Users\hp\AppData\Local\Programs\Python\Python312\Lib\tkinter\__init__.py:862: UserWarning: Glyph 38382 (\N{CJK UNIFIED IDEOGRAPH-95EE}) missing from font(s) DejaVu Sans. func(*args) C:\Users\hp\AppData\Local\Programs\Python\Python312\Lib\tkinter\__init__.py:862: UserWarning: Glyph 39064 (\N{CJK UNIFIED IDEOGRAPH-9898}) missing from font(s) DejaVu Sans. func(*args) C:\Users\hp\AppData\Local\Programs\Python\Python312\Lib\tkinter\__init__.py:862: UserWarning: Glyph 65306 (\N{FULLWIDTH COLON}) missing from font(s) DejaVu Sans. func(*args) C:\Users\hp\AppData\Local\Programs\Python\Python312\Lib\tkinter\__init__.py:862: UserWarning: Glyph 23545 (\N{CJK UNIFIED IDEOGRAPH-5BF9}) missing from font(s) DejaVu Sans. func(*args) C:\Users\hp\AppData\Local\Programs\Python\Python312\Lib\tkinter\__init__.py:862: UserWarning: Glyph 21629 (\N{CJK UNIFIED IDEOGRAPH-547D}) missing from font(s) DejaVu Sans. func(*args) C:\Users\hp\AppData\Local\Programs\Python\Python312\Lib\tkinter\__init__.py:862: UserWarning: Glyph 20013 (\N{CJK UNIFIED IDEOGRAPH-4E2D}) missing from font(s) DejaVu Sans. func(*args) C:\Users\hp\AppData\Local\Programs\Python\Python312\Lib\tkinter\__init__.py:862: UserWarning: Glyph 30340 (\N{CJK UNIFIED IDEOGRAPH-7684}) missing from font(s) DejaVu Sans. func(*args) C:\Users\hp\AppData\Local\Programs\Python\Python312\Lib\tkinter\__init__.py:862: UserWarning: Glyph 24433 (\N{CJK UNIFIED IDEOGRAPH-5F71}) missing from font(s) DejaVu Sans. func(*args) C:\Users\hp\AppData\Local\Programs\Python\Python312\Lib\tkinter\__init__.py:862: UserWarning: Glyph 21709 (\N{CJK UNIFIED IDEOGRAPH-54CD}) missing from font(s) DejaVu Sans. func(*args) C:\Users\hp\AppData\Local\Programs\Python\Python312\Lib\tkinter\__init__.py:862: UserWarning: Glyph 28508 (\N{CJK UNIFIED IDEOGRAPH-6F5C}) missing from font(s) DejaVu Sans. func(*args) C:\Users\hp\AppData\Local\Programs\Python\Python312\Lib\tkinter\__init__.py:862: UserWarning: Glyph 33351 (\N{CJK UNIFIED IDEOGRAPH-8247}) missing from font(s) DejaVu Sans. func(*args) C:\Users\hp\AppData\Local\Programs\Python\Python312\Lib\tkinter\__init__.py:862: UserWarning: Glyph 24515 (\N{CJK UNIFIED IDEOGRAPH-5FC3}) missing from font(s) DejaVu Sans. func(*args) 修改代码
最新发布
08-22
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值