杨东明 发表于 2021-6-23 22:05:56

请教这里为啥count 还是0?

def test1(file_name,tem1,tem2):
    f = open ('D:\\%s.txt'%file_name,encoding='utf-8')
    count = 0
    for each in f:
      for file_content in each:
            if file_content == 'tem1':
                count += 1
    f.close()
    print ('一共有%d个%s,是否确认全部替换为%s?YES/NO:' % (count,tem1,tem2),end='')
    anwser = input()
    while 1:
      if anwser != 'YES' and anwser != 'NO':
            anwser = input('输入有误,请重新输入:')
      elif anwser == 'YES':
            e = open ('D:\\%s.txt' % file_name,'w',encoding='utf-8')
            for each in e:
                time1 = 0
                for file_content in each:
                  if file_content == 'tem1':
                        time1 += 1
                if time1 == 0:
                  e.write(each)
                else:
                  list1 = each.split(tem1)
                  each1 = tem2.join(list1)
                  e.write(each1)
            e.close()
            break
test1('something1','一','初')

fish_nian 发表于 2021-6-23 22:05:57

本帖最后由 fish_nian 于 2021-6-23 22:37 编辑

你这一行有问题
if file_content == 'tem1':
这个变量使用引号引起来了,那么就不是变量了,而是字符串,这段话中没有tem1这个词当然显示为0了
将引号去了
if file_content == tem1:
就显示正确答案了
一共有2个一,是否确认全部替换为初?YES/NO:

杨东明 发表于 2021-6-23 22:07:00

第七行那里的count,下面是我输入文件的内容:
原来姹紫嫣红开遍
似这般都付与断井颓垣
良辰美景奈何天
赏心乐事谁家院
朝飞暮卷,云霞翠轩,雨丝风片,烟波画船
锦屏人忒看这韶光贱
梦长梦短俱是梦
年来年去是何年
这般花花草草由人恋
生生死死随人愿,便酸酸楚楚无人怨
待打并香魂一片,阴雨梅天,守的个梅根相见
三分春色描来易,一段伤心画出难

杨东明 发表于 2021-6-23 22:07:59

f = open ('D:\\something1.txt',encoding='utf-8')
count = 0
for each in f:
      for d in each:
                if d == '原':
                        print (5)
                        count += 1
print (count)

我写了这个相似的代码,结果都打印出了5 和1

杨东明 发表于 2021-6-23 22:08:55

不知道为啥放在最上面那个代码里面就有问题

fish_nian 发表于 2021-6-23 22:35:42

{:10_254:}如果解答了请给个最佳答案

杨东明 发表于 2021-6-24 14:58:04

fish_nian 发表于 2021-6-23 22:35
如果解答了请给个最佳答案

想了半天没想出哪儿出问题了{:9_226:}

fish_nian 发表于 2021-6-24 16:21:56

杨东明 发表于 2021-6-24 14:58
想了半天没想出哪儿出问题了

{:10_257:}仔细看看就能发现错在什么地方了
页: [1]
查看完整版本: 请教这里为啥count 还是0?