在Python中,可以使用`print`函数和字符串格式化来输出各种图形。以下是一些示例代码,展示了如何输出不同的图形:
输出矩形
width = 10height = 5for i in range(height):print('*' * width)
输出直角三角形
height = 5for i in range(1, height + 1):print('*' * i)
输出倒直角三角形
height = 5for i in range(height, 0, -1):print('*' * i)
输出菱形
size = 5for i in range(1, size, 2):print(' ' * ((size - i) // 2) + '*' * i + ' ' * ((size - i) // 2))for i in range(size, 0, -2):print(' ' * ((size - i) // 2) + '*' * i + ' ' * ((size - i) // 2))

输出星号组成的正方形
n = int(input("请输入正方形的边长(1~20):"))if 1 <= n <= 20:for i in range(n):print('*' * n)else:print("输入的边长不在有效范围内,请输入1~20之间的整数。")
使用OpenCV生成凸包图
import cv2import numpy as npdef generate_poly(image, n, area_thresh):contours, hierarchy = cv2.findContours(image, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)cnt = contoursM = cv2.moments(cnt)if M['m00'] != 0:cx = int(M['m10'] / M['m00'])cy = int(M['m01'] / M['m00'])convex_hull = cv2.convexHull(cnt, True)cv2.circle(image, (cx, cy), 5, (0, 255, 0), -1)for i in range(len(convex_hull)):cv2.line(image, convex_hull[i], convex_hull[(i + 1) % len(convex_hull)], (0, 0, 255), 2)return imageelse:return None读取二值图image = cv2.imread('path_to_binary_image.png', 0)生成凸包图convex_hull_image = generate_poly(image, 8, 100)显示凸包图cv2.imshow('img_hull', convex_hull_image)cv2.waitKey()cv2.destroyAllWindows()
请注意,上述代码示例中的`path_to_binary_image.png`需要替换为实际图像文件的路径。
这些示例展示了如何使用Python输出简单的图形。你可以根据需求自定义输出更复杂的图形。如果你需要输出其他类型的图形,比如线图、条形图、饼图或散点图,可以使用Python的`matplotlib`或`seaborn`等图形库。
