饺影 发表于 2022-6-30 06:28:03

为何无法运行

with open("1.txt","r") as f:
    function = f.read()
for Zfwr in function:
    if Zfwr == "echo":
      temp = 0
      for temp_2 in function:
            if temp == 0:
                temp + 1
            if temp == 1:
                output = temp_2
      print(temp_2)
这段代码没报错但无法运行,请问为啥啊,感谢大佬解答

wp231957 发表于 2022-6-30 08:20:55

还是先学会如何提问吧

森亦简 发表于 2022-6-30 10:34:52

{:10_277:}

饺影 发表于 2022-6-30 10:50:29

wp231957 发表于 2022-6-30 08:20
还是先学会如何提问吧

可以运行,但是不会返回结果

当初约定 发表于 2022-6-30 13:13:50

你的if条件不满足,因此不会执行分支里的语句

临时号 发表于 2022-6-30 13:24:51

你的程序执行了
从你的代码来看
function变量接受f.read()返回的字符串
而下一步你用for循环遍历function这个字符串
所以每一次执行for循环,Zfwr这个变量应该都是一个字符,可你却将它与四个字符的字符串相匹配,自然返回False
所以print(temp_2)没有执行,让你认为程序没有执行

xiebg 发表于 2022-6-30 19:39:21

wp231957 发表于 2022-6-30 08:20
还是先学会如何提问吧

怎么说呢,代码毫无逻辑,不知道要干嘛,其二嘛,出现多次语法和逻辑错误,不知道该怎么指正....

xiebg 发表于 2022-6-30 19:45:16

怎么说呢,代码毫无逻辑,不知道要干嘛,其二嘛,出现多次语法和逻辑错误,不知道该怎么指正....

xiebg 发表于 2022-6-30 19:47:32

xiebg 发表于 2022-6-30 19:45
怎么说呢,代码毫无逻辑,不知道要干嘛,其二嘛,出现多次语法和逻辑错误,不知道该怎么指正....

我大概猜了下,可能是要输出除了第一个字符的所有字符,如果是这样的话,代码为:
with open("1.txt","r") as f:
    for Zfwr in f:
      if Zfwr == "echo":
            temp = 0
            for temp_2 in Zfwr:
                if temp == 0:
                  temp += 1
                  continue
                if temp == 1:
                  print(temp_2)

qyh110 发表于 2022-6-30 23:02:30

{:10_269:}

饺影 发表于 2022-7-1 11:11:41

xiebg 发表于 2022-6-30 19:47
我大概猜了下,可能是要输出除了第一个字符的所有字符,如果是这样的话,代码为:
with open("1.txt","r ...

这个不对吧
页: [1]
查看完整版本: 为何无法运行