一边玩一边学习 发表于 2022-9-23 18:31:37

代码不同,但是运行结果一样

答案代码:temp = input('请输入一个整数:')
number = int(temp)
while number:
    i = number - 1
    while i:
      print(' ', end = '')
      i = i - 1
    j = number
    while j:
      print('*', end = '')
      j = j - 1
    print()
    number = number - 1


自己敲的代码:temp = input("请输入一个整数:")
number = int(temp)
i = 1*('*')
while number:
    print(i*number)
    number = number - 1

想问一下自己写的代码是OK的吗?有没有哪些地方是不严谨的?

wp231957 发表于 2022-9-23 18:37:29

i = 1*('*')这句代码有啥用

一边玩一边学习 发表于 2022-9-23 18:42:42

wp231957 发表于 2022-9-23 18:37
i = 1*('*')这句代码有啥用

要打印*呀,但是直接让i=*的话,运行不了。我就把*当成字符串处理了

wp231957 发表于 2022-9-23 18:43:58

一边玩一边学习 发表于 2022-9-23 18:42
要打印*呀,但是直接让i=*的话,运行不了。我就把*当成字符串处理了

print("*"*10)试一下

Twilight6 发表于 2022-9-23 18:45:41

一边玩一边学习 发表于 2022-9-23 18:42
要打印*呀,但是直接让i=*的话,运行不了。我就把*当成字符串处理了



i = 1 * "*" 的结果等于 直接 "*"

一边玩一边学习 发表于 2022-9-23 18:46:43

wp231957 发表于 2022-9-23 18:43
print("*"*10)试一下

这样也可以!但是我想问的是这个代码有没有不严谨的地方呢?而且我有点看不懂答案的代码{:10_266:}方便解释一下吗?

Twilight6 发表于 2022-9-23 18:47:12



甲鱼哥的代码是斜着打印的,你的是直立的

应该在 print 前面加上打印空字符串,参考代码:

temp = input("请输入一个整数:")
number = int(temp)
while number:
    print(" " * number + "*" * number)
    number = number - 1


jackz007 发表于 2022-9-23 18:49:48

本帖最后由 jackz007 于 2022-9-23 18:51 编辑

标准答案:
请输入一个整数:8
       ********
      *******
   ******
    *****
   ****
***
**
*
       你的代码
请输入一个整数:8
********
*******
******
*****
****
***
**
*
      简化代码:
number = int(input("请输入一个整数:"))
for i in range(number , 0 , -1):
    print(' ' * (i - 1) + '*' * i)

一边玩一边学习 发表于 2022-9-23 18:50:53

Twilight6 发表于 2022-9-23 18:47
甲鱼哥的代码是斜着打印的,你的是直立的

应该在 print 前面加上打印空字符串,参考代码:


这个的运行结果是一样的耶!但是看起来比答案简单很多!这样子写也可以对不对?是不是只要运行结果一样就可以了?

Twilight6 发表于 2022-9-23 18:55:41

一边玩一边学习 发表于 2022-9-23 18:50
这个的运行结果是一样的耶!但是看起来比答案简单很多!这样子写也可以对不对?是不是只要运行结果一样就 ...



是的~

页: [1]
查看完整版本: 代码不同,但是运行结果一样