昨天,因为有时间。所以,久违地python编程一波。突然有一个新奇的想法,然后去实践了一下,又烧死了不少脑细胞,不过已经习惯了。

废话不多说,今天的代码有点小多,希望各位客官能够满意。

代码1:

#随机数三角形
def graph():string = ''N = int(input('设置图形长度:'))for i in range(0,N):random_num = random.randrange(0,10)//生成0-9随机数string += str(random_num)print(string)
graph()

运行结果如下:

代码2:

def graph2():string = ''ls = []N = int(input('设置图形长度:'))for i in range(0, N):random_num = random.randrange(0, 10)string += str(random_num)ls.append(string)print(string)#print(ls)#count = 0#设置一个计数器count = len(ls)while True:count -= 1if count >= 0:print(ls[count])else:print('退出程序!!')break
graph2()

运行结果如下:

代码3:

#正序不可变奇偶等腰三角形3
def graph3():string = ''ls = []N = int(input('设置图形长度:'))for i in range(0, N):random_num = random.randrange(0, 10)string += str(random_num)ls.append(string)#print(string)#print('ls的长度是',len(ls))print('graph3的result:')for l in range(0,len(ls),2):print(' '*((len(ls) - len(ls[l]))//2)+ls[l])print()
graph3()

运行结果如下:

代码4:

#倒序可变奇偶等腰三角形
def graph4():string = ''ls = []N = int(input('设置图形长度:'))for i in range(0, N):random_num = random.randrange(0, 10)string += str(random_num)ls.append(string)count = len(ls)+1print('graph4的result')while count != 0:count -= 2if count >= 0:print(' '*((len(ls)-len(ls[count]))//2)+ls[count])else:print('退出程序!!')break
graph4()

运行结果如下:


代码5:

#倒序奇偶全为奇的等腰三角形
def graph5():string = ''ls = []N = int(input('设置图形长度:'))for i in range(0, N):random_num = random.randrange(0, 10)string += str(random_num)ls.append(string)if N % 2 == 0:print('graph5的result')while N != 0:N -= 2if N >= 0:print(' ' * ((len(ls) - len(ls[N])) // 2) + ls[N])else:print('退出程序!!')breakelif N % 2 != 0:N += 1print('graph5的result')while N != 0:N -= 2if N >= 0:print(' ' * ((len(ls) - len(ls[N])) // 2) + ls[N])else:print('退出程序!!')break
graph5()

运行结果如下:

代码6:

#绘制菱形,时间复杂度o(n^2)
def graph6():string = ''ls = []N = int(input('设置菱形最大长度:'))for i in range(0, N):random_num = random.randrange(0, 10)string += str(random_num)ls.append(string)# print(string)print('graph6的result:')for l in range(0, len(ls), 2):print(' ' * ((len(ls) - len(ls[l])) // 2) + ls[l])if len(ls[l]) == N or len(ls[l]) == N - 1:half = len(ls[l]) - 3while half >= 0:if half >= 0:print(' ' * ((len(ls) - len(ls[half])) // 2) + ls[half])half -= 2else:break
graph6()

运行结果如下:


代码7:

def graph7():string = ''ls = []N = int(input('设置漏口最大长度:'))for i in range(0, N):random_num = random.randrange(0, 10)string += str(random_num)ls.append(string)# print(string)ls_reverse = ls[::-1]print('graph7的result:')for l in range(0,len(ls_reverse),2):print(' ' * ((len(ls_reverse)-len(ls_reverse[l]))//2)+ls_reverse[l])if N % 2 == 0:for e in range(3,len(ls),2):print(' ' * ((len(ls) - len(ls[e]))//2)+ls[e])else:if N % 2 != 0:for e in range(2, len(ls), 2):print(' ' * ((len(ls) - len(ls[e])) // 2) + ls[e])
graph7()

运行结果如下:


代码6的变化:

#绘制字符菱形
def graph6_2():sign = ''ls = []string = str(input('请输入语句:'))N = len(string)for i in range(0,len(string)):sign += string[i]ls.append(sign)# print(string)print('graph6的result:')for l in range(0, len(ls), 2):print(' ' * ((len(ls) - len(ls[l])) // 2) + ls[l])if len(ls[l]) == N or len(ls[l]) == N - 1:half = len(ls[l]) - 3while half >= 0:if half >= 0:print(' ' * ((len(ls) - len(ls[half])) // 2) + ls[half])half -= 2else:break
graph6_2()

运行结果:


代码7的变化:

#绘制字符沙漏
def graph7_2():sign = ''string = str(input('请输入语句:'))N = len(string)ls = []#N = int(input('设置字符漏口最大长度:'))for i in range(0, N):sign += string[i]ls.append(sign)# print(string)ls_reverse = ls[::-1]print('graph7的result:')for l in range(0,len(ls_reverse),2):print(' ' * ((len(ls_reverse)-len(ls_reverse[l]))//2)+ls_reverse[l])if N % 2 == 0:for e in range(3,len(ls),2):print(' ' * ((len(ls) - len(ls[e]))//2)+ls[e])else:if N % 2 != 0:for e in range(2, len(ls), 2):print(' ' * ((len(ls) - len(ls[e])) // 2) + ls[e])
graph7_2()

运行结果如下:


接下来,我觉得还可以打开文件,随机选择里面的语句生成图形。关于这个txt文件参见我之前的文章。地址是:python入门到放弃篇35。

文件内容如下:

代码8:

def graph8():ls = []ls2 = []sign = ''with open(r'D:/pycharm_project/waiting_for_love.txt','r+',encoding='utf-8') as f:lines = f.readlines()for l in lines:line = l.strip()ls.append(line)string = random.choice(ls)N = len(string)# N = int(input('设置字符漏口最大长度:'))for i in range(0, N):sign += string[i]ls2.append(sign)# print(string)ls_reverse = ls2[::-1]print('graph8的result:')for l in range(0, len(ls_reverse), 2):print(' ' * ((len(ls_reverse) - len(ls_reverse[l])) // 2) + ls_reverse[l])if N % 2 == 0:for e in range(3, len(ls2), 2):print(' ' * ((len(ls2) - len(ls2[e])) // 2) + ls2[e])else:if N % 2 != 0:for e in range(2, len(ls2), 2):print(' ' * ((len(ls2) - len(ls2[e])) // 2) + ls2[e])
graph8()

运行结果如下:

代码9:

def graph9():sign = ''ls = []ls2 = []with open(r'D:/pycharm_project/waiting_for_love.txt','r+',encoding='utf-8') as f:lines = f.readlines()for l in lines:line = l.strip()ls.append(line)string = random.choice(ls)# N = int(input('设置字符漏口最大长度:'))N = len(string)for i in range(0, len(string)):sign += string[i]ls2.append(sign)# print(string)print('graph6的result:')for l in range(0, len(ls2), 2):print(' ' * ((len(ls2) - len(ls2[l])) // 2) + ls2[l])if len(ls2[l]) == N or len(ls2[l]) == N - 1:half = len(ls2[l]) - 3while half >= 0:if half >= 0:print(' ' * ((len(ls2) - len(ls2[half])) // 2) + ls2[half])half -= 2else:break
graph9()

运行结果如下:

最后,感谢大家前来观看鄙人的文章,文中或有诸多不妥之处,还望指出和海涵。当然,对我的程序有疑问的朋友,也可以跟我私聊探讨,看是否能够再进一步改进,期待你的建议。

python入门到放弃篇46绘制几何图形相关推荐

  1. python入门到放弃恶搞图-《Python3从入门到放弃》视频教程

    <Python3从入门到放弃>视频教程2016年 001.01.python编程环境配置 001.02.IDE的又一选择PyCharm 002.01.name 002.02.namespa ...

  2. python入门到放弃恶搞图-学Python方法用错,直接从入门到放弃!

    原标题:学Python方法用错,直接从入门到放弃! 从你开始学习编程的那一刻起,就注定了以后所要走的路-从编程学习者开始,依次经历实习生.程序员.软件工程师.架构师.CTO等职位的磨砺:当你站在职位顶 ...

  3. python生日祝福短信_python从入门到放弃篇5(tkinter模块)实现生日快乐祝福

    #从我开始学习python编程到现在也就4个月的时间,我感觉还是很不错的,我在挣扎,在坚持.因此,请不要放弃治疗. #今天太忙了,搞作业.没时间更新打奖程序了,明天再想办法看看.今天先出新东西,用tk ...

  4. python从入门到放弃篇31(selenium库)模拟天猫登录输入不含验证码,初步实现

    今天把之前两天的文章补上再说.这两天在研究模拟登录.暂时还没有进展,但是我相信会好起来的. 我之前有一篇博文,是说爬取天猫图书信息的,我是在爬了一页后,也就是60本书后,遇到一个问题,就是碰到天猫要求 ...

  5. python从入门到放弃篇26(lxml.etree库,urllib.request库,构造xpath路径,构造url)实现翻页爬取豆瓣书简介并保存数据

    今天,我研究了构造url和xpath路径的方法实现翻页爬取数据.觉得还可以,不过还是存在一些问题,没有我想的那么理想,因为,目前只实现了爬取每一页的第一本书及其书评.我等有时间会再去研究. 第一步,我 ...

  6. python从入门到放弃篇29(selenium库)for循环爬取名人名言动态网页并保存数据到本地计算机上

    今天,又是个美好的一天,我因为开始自学爬虫,所以就顺便看看爬虫重修群的作业(当然我没有挂科),我觉得这次作业还有一些意思,所以,我自己就解决了这次作业. 完整代码其实也就20多行左右: 我们这次的案例 ...

  7. python soup歌词_python从入门到放弃篇35(BeautifulSoup库)爬取A神waiting for love歌词

    今天,在研究BeautifulSoup库的使用方法和技巧,我看了一下BeautifulSoup库函数,觉得BeautifulSoup库没有lxml库的xpath函数那么好用,各有优势吧. 案例网址:h ...

  8. python从入门到放弃篇40(selenium库,lxml库,requests库,time库,构造url)爬取列表中的象棋视频

    今天先把昨天的发文补上再说,昨天在搞Flask框架搭建,并且尝试批量爬取视频,遇到了一些坑,跟大家分享一下. 这次我们案例的网址是: https://haokan.baidu.com/v?vid=13 ...

  9. 【详细】Android入门到放弃篇-YES OR NO-》各种UI组件,布局管理器,单元Activity

    问:达叔,你放弃了吗? 答:不,放弃是不可能的,丢了Android,你会心疼吗?如果别人把你丢掉,你是痛苦呢?还是痛苦呢?~ 引导语 有人说,爱上一个人是痛苦的,有人说,喜欢一个人是幸福的. 人与人之 ...

最新文章

  1. “环太平洋”走进现实,五角大楼研发人与武器互动的意念控制技术
  2. RuntimeError: get_active_profile() can only be called between a start() and a following stop()
  3. 数学,原来可以这么美!
  4. MySQL instr()函数
  5. 7名高管、半数员工离职,如何再造乔布斯重返苹果神话?
  6. 一些看起来有用但没用过的函数
  7. android otg读取索尼相机usb_索尼新概念!即将上市全画幅无反相机α7C先睹为快
  8. 并发入库面临重复数据的问题
  9. Linux虚拟文件系统(概述)
  10. 2022最新版影视小程序源码支持josn官解+卡密系统
  11. Iphone8如何投屏到电脑 苹果手机投屏到电脑
  12. 修改阿拉伯语等语言下的数字显示
  13. Android 微信支付宝授权获取用户信息
  14. java 网格包,一个网格包的问题
  15. 【秒懂】数据分析没头绪?这七种高手常用统计分析方法都帮你总结好了!
  16. Flutter Sliver大家族之SliverList(),SliverFixedExtentList(),SliverGrid()组件②
  17. 仙境传说服务器各文件夹,仙境传说RO游戏背景及快捷键等基础常识大全 指令大全 指令使用-游侠网...
  18. 推荐8款插件,浏览器使用体验上升500%
  19. Python利用meteinfo来计算后向轨迹
  20. 天问block-STC8G1K08A-LED

热门文章

  1. 软件测试转行做软件销售,转行做软件测试2年了,终于实现收入过万的梦想
  2. windows vc2017 环境安装pycrypto 出错解决
  3. 图像分割:基于阈值(Otsu)
  4. html中marquee标签添加2条,HTML marquee标签
  5. 不得不说,这是我面过的最优秀的Linux运维!
  6. 计算机应用电子表格题,计算机应用基础Ecel电子表格题目.doc
  7. 学习《码农翻身》之精进
  8. 使用ssh连接Linux服务器反应慢,配置DNS的问题
  9. excel单元格内容拆分_Excel表格技巧—如何统计有内容的单元格数量
  10. 提取.c文件中的函数名