当前位置: 首页 > news >正文

对电子商务网站建设与管理的心得/常州网站推广公司

对电子商务网站建设与管理的心得,常州网站推广公司,伪网站建站,网站名称查询在编程训练中,循环结构与条件判断十分重要。 根据条件为真为假确定是否执行循环。 有时,根据条件的真假结果,决定执行哪些语句,这就是分支语句。 为了训练分支语句与循环语句,我们设计一个案例: 求一组…

在编程训练中,循环结构与条件判断十分重要。

根据条件为真为假确定是否执行循环。

有时,根据条件的真假结果,决定执行哪些语句,这就是分支语句。

为了训练分支语句与循环语句,我们设计一个案例:

求一组数字:两数平方和为另一数平方

符合条件时,有三个数:i和j,其平方和与k的平方相等。

        i*i+j*j==k*k

或写作:

       i^{2}+j^2= k^2

如果满足条件,我们将会有一组共三个数字,如果有多组数字符合条件,将遇到一个棘手问题:如何同时存放相关三几个数字,如何存放多组这类数字。这是各类语言要解决的重要课题。

为了存储各类数据,python中设置了基本数据类型及组合数据类型。对于相关的多数据存储问题,首先要考虑的是列表(list)、元组(tuple)、集合(set)和字典(dict)。

对于我们要解决的问题,可以考虑用元组(i,j,k),也可以用列表(k,(i,j)),更可以用字典{k:(i,j)}。

而对于bash中解决这类问题,就不方便了。为了训练运用数组a((i0,j0,k0),(i1,j1,k1),…)

下面结合代码,具体讨论数据的存储。

一、python循环与条件判断

由于符合条件的三个数比较多,我们仅求一定数据范围内的符合条件的一组数字。

1.列表存储结果

ls=[]

for i in range(50,100):

    for j in range(50,100):

            for k in range(50,100):

                 if i**2 + j**2 == k**2:

                     ls.append((k,j,i))

for i in range(len(ls)):

    print(ls[i])

2.嵌套列表存储结果

ls=[]

for i in range(50,100):

    for j in range(50,100):

            for k in range(50,100):

                 if i**2 + j**2 == k**2:

                     ls.append((k,(j,i)))

for i in range(len(ls)):

    print(ls[i])

3.字典存储结果

dict={}

for i in range(40,99):

        for j in range(40,99):

                for k in range(40,99):

                        if i**2+j**2 == k**2:

                                dict[k]=(i,j)

for key,value in dict.items():

        print(key,value)

打印输出时,按k值输出,不存在重复问题。

 二、bash循环与条件判断

求一组数,这是一个循环问题:

用什么循环结构,for?while?

循环初始条件、结束条件及循环方式

具备什么条件,完成什么事情;具体什么条件,不做什么事情。

循环离不开条件判断!

不同的条件,将产生不同的处理结果,这就是分支语句。

具体什么条件,不做什么事情。可用continue语句,这是一类中断处理方式。

下面的分析,以for循环为主。

1.选择循环结构

设计i,j,k为循环变量,取值范围1-50,用for循环表示,可以这样写(以i为例):

        for i in $(seq 50)

也可以:

        for i in {1..50}

或用C语言风格这样写:

        for((i=1;i<=50;i++)

下面是循环执行的代码,用do标记开始,用done标记结束。最好各自占用一行,其内的代码要缩进,或按一次Tab键,或按4次空格键

PS:同一脚本文件中,要统一使用缩进格式:用Tab,就一直用;用4个空格,就一直用。不能混用两种格式。有缩进的地方一定要缩进,否则会报错。

2.条件判断与循环

主要代码是

        k*k == i*i+j*j

bash支持**和但不支持^。可用i*i或i**

从表达式可以看到:

如果表达式成立,交换一下i j也成立。

如何保证仅有一个K值,而不是两个K值呢?

两种手段:

a.在代码中处理,第一组K值打印输出,第二组相同K值的不输出

b.全部结果打印输出后,去掉重复的K值

为了训练代码处理问题的手段,我们重点讨论输出后处理。

a.输出时处理

不输出第二次出现的K值,就需要对K值计数:

第一次,打印输出;

第二次,不输出

设置计数可用变量count,也可以简写为cnt

如何设计不打印输出呢?

用echo,会多出空行。

用echo打印输出其他内容,又显多余。

如何处理?

这就用到continue语句!

当第二次出现k值时,什么都不做,continue继续下一次循环!

b.输出后处理

用sort进行排序,加-u去掉重复的K值

3.输出格式

在表达式成立时,如何输出ijk值,以什么格式输出?

单独输出i j k,不合适,结果变成一系列数字

把三个数字同时输出在一行?可以,但仍感觉有什么不妥。

比较合适的格式是:

K: (i,j)

k后加不加:都可以;i j谁在前在后,都可以

分析完毕,写一份代码,供参考。

源代码

输出后处理重复K

for((i=1;i<=50;i++))

do

    for((j=1;j<=50;j++))

    do

        for((k=1;k<=50;k++))

        do

            if [ $((i*i+j*j)) == $((k*k)) ]

            then

               echo "$k: ($i $j)" >>k.txt

           fi

       done

    done

done

不去重效果

与python去重一样,可用sort -u -t: -k1,1.2nr

cat k.txt |sort -u -t: -k1,1.2nr

小结

对于多数据的存储,python方法较多,这与现代高级语言更注重数据处理有关。而bash注重语法与格式的严谨相关。在学习时,可以多多体会。

http://www.jmfq.cn/news/5319001.html

相关文章:

  • 网站建设的进度计划/品牌营销理论
  • 淄博网站建设费用/做个小程序需要花多少钱
  • 天津建设工程竣工备案公示网站/阿里指数app下载
  • 政府档案网站建设/宁波网站关键词优化代码
  • 政和县建设局网站公告/搜索引擎营销的主要方法包括
  • 无锡时光科技网站建设公司怎么样/免费刷seo
  • 第三方商城网站建设/抖音seo怎么做的
  • 城北区建设局网站/文娱热搜榜
  • 学网站建设 去哪里/tool站长工具
  • 分阶段建设网站/宁德市政府
  • 寻找富阳网站建设/手机优化大师为什么扣钱
  • 网站建设丂金手指科杰/一键优化清理手机
  • 企业建设网站需要服务器吗/网络营销包括几个部分
  • 建设银行 企业网站/企业如何进行网站推广
  • 贵港市城乡建设委员会网站/武汉seo网络优化公司
  • 免费图片网站建设/网络营销公司排行榜
  • 濮阳中强网站建设/百度认证证书
  • 上海住房和城乡建设委员会门户网站/推广普通话的意义论文
  • 网站建设内容保障工作个人总结/软文广告
  • 惠州网站小程序建设点/被国家禁止访问的网站怎么打开
  • 政府网站集约化建设通知/链接提交
  • 电子兼职网站建设/太原seo推广外包
  • 徽文化网站建设方案书/软件商店安装
  • 香港网站建设的网络公司/百度地图导航网页版
  • 贵州省和城乡建设厅官方网站/西安网站seo价格
  • 网站正在建设中页面的英文/外包网络推广公司推广网站
  • 龙华网站 建设信科网络/计算机培训机构排名
  • 班级网站建设模板/seo店铺描述
  • 杭州公司网站建设哪家好/百度信息流推广是什么意思
  • 珙县网站建设/福州模板建站哪家好