【问题标题】:what is the matter about this python code?这个python代码是怎么回事?
【发布时间】:2022-07-18 20:50:24
【问题描述】:
for i in range(30):
    if input() == '-':
        case = 0
    else:
        case = input()
    print(case)

这是我的代码,结果是这样的:(强调的是输入)

*-*
0
*10*
*10*
10

它适用于打印 - 对于 0,但如果我连续输入数字,它只会打印每隔一个数字

【问题讨论】:

  • 当你运行 case = input() 时,它会读取第二条输入。
  • 您通常调用input() 两次——一次用于测试,一次用于输出值。
  • 这个应该做什么,为什么?

标签: python


【解决方案1】:

每个input() 电话都会为您带来一个新 价值。检查'-' 的input() 返回的值与您分配给case 的值不同。如果要复用相同的值,需要将其赋值给一个临时变量并复用,例如:

for i in range(30):
    inp = input()
    if inp == '-':
        case = 0
    else:
        case = inp
    print(case)

用3.8+的海象,可以浓缩两行:

    inp = input()
    if inp == '-':

如果你真的想要的话,可以给一个,但这里没有什么好处:

    if (inp := input()) == '-':

【讨论】:

    【解决方案2】:

    每次调用input() 时,它都会要求用户提供另一个输入。 正确的做法是:

    for i in range(30):
        x = input()
        if x == '-':
            case = 0
        else:
            case = x
        print(case)
    

    【讨论】:

      猜你喜欢
      • 2018-06-20
      • 1970-01-01
      • 2013-07-28
      • 1970-01-01
      • 2011-06-28
      • 2020-04-03
      • 2011-08-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多