免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: yestreenstars
打印 上一主题 下一主题

[游戏娱乐] 练习题(图形打印和杨辉三角) [复制链接]

论坛徽章:
0
81 [报告]
发表于 2015-05-30 11:40 |只看该作者
有的意思,看看

论坛徽章:
0
82 [报告]
发表于 2015-06-04 17:09 |只看该作者
watch and learn

论坛徽章:
9
射手座
日期:2014-07-29 13:05:07双子座
日期:2015-01-11 17:01:522015年亚洲杯之朝鲜
日期:2015-02-01 16:14:282015亚冠之阿尔艾因
日期:2015-06-04 17:54:40数据库技术版块每日发帖之星
日期:2015-08-02 06:20:00数据库技术版块每日发帖之星
日期:2015-10-28 06:20:00数据库技术版块每日发帖之星
日期:2015-11-26 06:20:0015-16赛季CBA联赛之天津
日期:2016-06-20 17:09:2015-16赛季CBA联赛之青岛
日期:2017-02-26 15:54:19
83 [报告]
发表于 2015-06-05 12:52 |只看该作者
本帖最后由 stupid_lee 于 2015-06-05 12:54 编辑

最近学习python,发现打印指定数量字符/空格,用python挺好处理,前面的答案肯定也有python了,我只是来做练习的,勿喷

  1. >>> def print_ling(n):
  2.         if int(n)%2 ==0:
  3.                 print('请输入一个奇数')
  4.                 return
  5.         width=n
  6.         hight=n
  7.         line_num=1
  8.         space_num=int(n/2)
  9.         xing_num=1
  10.         while line_num < int(n/2)+1:
  11.                 print(" "*space_num+"*"*xing_num)
  12.                 line_num=line_num+1
  13.                 xing_num=xing_num+2
  14.                 space_num=space_num-1
  15.         print("*"*n)
  16.         line_num=line_num+1
  17.         xing_num=xing_num-2
  18.         space_num=space_num+1
  19.         while int(n/2)+2 <= line_num <=n:
  20.                 print(" "*space_num+"*"*xing_num)
  21.                 space_num=space_num+1
  22.                 line_num=line_num+1
  23.                 xing_num=xing_num-2

  24.                
复制代码
print_ling(7)
     *
   ***
  *****
*******
*****
   ***
     *

论坛徽章:
6
2015亚冠之广州恒大
日期:2015-05-25 15:01:512015亚冠之大阪钢巴
日期:2015-11-09 21:04:562015亚冠之山东鲁能
日期:2015-11-11 14:30:3215-16赛季CBA联赛之山西
日期:2016-03-11 11:11:5215-16赛季CBA联赛之江苏
日期:2016-04-06 10:48:4915-16赛季CBA联赛之北控
日期:2016-11-09 10:23:22
84 [报告]
发表于 2015-06-05 14:34 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
85 [报告]
发表于 2015-10-22 11:27 |只看该作者
新手来水一下

论坛徽章:
0
86 [报告]
发表于 2015-10-23 16:12 |只看该作者
答案是什么?

论坛徽章:
20
程序设计版块每日发帖之星
日期:2015-10-11 06:20:0015-16赛季CBA联赛之山东
日期:2016-05-28 18:18:5615-16赛季CBA联赛之新疆
日期:2017-04-12 22:55:4715-16赛季CBA联赛之青岛
日期:2017-06-26 18:30:0315-16赛季CBA联赛之四川
日期:2017-09-04 12:27:0315-16赛季CBA联赛之福建
日期:2018-02-09 14:28:3315-16赛季CBA联赛之同曦
日期:2018-04-17 12:43:3415-16赛季CBA联赛之浙江
日期:2018-07-14 13:27:4015-16赛季CBA联赛之吉林
日期:2018-09-13 15:48:2915-16赛季CBA联赛之新疆
日期:2016-05-07 05:05:3215-16赛季CBA联赛之八一
日期:2016-03-14 12:32:06程序设计版块每日发帖之星
日期:2015-12-12 06:20:00
87 [报告]
发表于 2015-10-23 16:53 |只看该作者
来冒泡下

论坛徽章:
0
88 [报告]
发表于 2015-11-30 11:03 |只看该作者
感谢楼主分享,顶贴支持~

论坛徽章:
0
89 [报告]
发表于 2015-12-02 16:47 |只看该作者
不错的基本练习题

论坛徽章:
1
程序设计版块每日发帖之星
日期:2015-12-17 06:20:00
90 [报告]
发表于 2015-12-08 14:54 |只看该作者
1

#!/bin/bash

str()
{
n=$1
max=$2
let star_n=2*${n}-1
if [ ${max} -eq 1 ];then
blank=0
else

let blank=(2*${max}-2)/2

fi
res=""
for((m=${blank};m>0;m--))
do
res="${res} "
done
for((j=0;j<${star_n};j++))
do
res="${res}${mychar}"
done
echo "${res}"
}
#main
read  -p 'please input the number(gt 0 and 2n+1):' num




if [[ ${num} =~ ^[1-9][0-9]*$ ]] && [[ ${num} -gt 2 ]] && [[ $(( ${num}%2 )) -gt 0 ]]; then

let new_num=$((${num}/2))+1
num=${new_num}

mychar="*"
counter=${num}

###up
for ((i=1;i<=${num};i++))
do

echo "$(str ${i} ${counter}  )"

let counter=${counter}-1
done


#########down
counter=${num}
for ((i=1;i<=${num};i++))
do
if [ ${i} -gt 1 ];then
echo "$(str ${counter} ${i} )"
fi
let counter=${counter}-1
done
##########


else

echo "input is errors."
fi
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP