python数星星问题

python数星星问题,第1张

题目:天空非常晴朗,外面很静很静,连小虫儿的鸣叫声都能听见。


天就渐渐变黑了,天空中出现了一颗颗星星,它们一闪一闪的好像在眨着眼睛,又好像在向我诉说着什么似的。


望着,望着,我就禁不住要数星星了,一颗,两颗,三颗……数着数着,就分不清哪些数过了,哪些还没数过。


你能帮忙数清天上有几颗星星吗?

输入:

第一行有一个整数N(0


输出:

星星数量。


样例输入:

5

*****

*****

*****

**###

&&&&&

样例输出:

17stars

简单分析一下题目,输入有两个。


第一个输入是一个整型数,告诉我们二维数组是几行几列。


我们用input来读取这个数字,不过要记得加上eval,否则input没法将数字识别为int类型。


s=eval(input())

另一个输入就是我们的二维数组。


这里我们先申请一个二维数组。


用下列代码让其的行和列的数量是我们输入的数字,伪动态定义一个二维数组。


s = [[0]*n for i in range(n)] 

 之后用一个循环读取数组。


for i in range(n):
    s[i]=input()

 接下来就是数星星,也就是判断我们的二维数组里共有多少个 ‘*’ 字符。


这里选择用一个遍历依次对比各个字符,看它们是不是 ‘*’ ,用k来计数,每次对比成功,k就加一。


k=0
for i in range(n):
    for j in range(n):
        if s[i][j]=='*':
            k=k+1

最后整合一下代码,输出我们的k,就可以知道我们数了多少个星星。


 

# -*- coding: utf-8 -*-
n=eval(input())#读取n,用于定义二维数组
s=[[0]*n for i in range(n)]#定义二维数组
for i in range(n):#读取二维数组
    s[i]=input()
k=0
for i in range(n):#循环判断有多少个*
    for j in range(n):
        if s[i][j]=='*':#该字符为*则k加一,完成计数
            k=k+1
print("%dstars"%k)#输出最后结果

到这里就完成了,展示一下题目输出结果:

 

 如果本文章对你有帮助的话,请收藏或者点赞,评论一下,大家一起讨论,感谢观看!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/571815.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-09
下一篇 2022-04-09

发表评论

登录后才能评论

评论列表(0条)

保存