为了账号安全,请及时绑定邮箱和手机立即绑定

如何打印出文件中的所有大写字符串

如何打印出文件中的所有大写字符串

largeQ 2021-10-26 16:26:36
我遇到的问题是它没有打印出任何东西。我的 if 语句有问题吗?因为它打印了整个txt。当我没有添加 if 语句时的文件。fname = input('Enter the file name: ')try:    fhand = open(fname)except:       print('File cannot be opened:', fname)       exit()for line in fhand:    line = line.strip()    if line.isupper():        print(line)该文件包含 HTML、CSS、I/O 和 SQL,它应该打印出所有这些字符串。
查看完整描述

3 回答

?
慕后森

TA贡献1802条经验 获得超5个赞

您的if语句使用=which 用于赋值,而不是用于比较。而是使用==. 除此之外,它string.isupper()本身就是一个布尔值,因此您会将字符串与布尔值进行比较,这不会产生您想要的结果。


查看完整回答
反对 回复 2021-10-26
?
蝴蝶不菲

TA贡献1810条经验 获得超4个赞

您可以改用该filter函数:


for line in filter(str.isupper, fhand):

    print(line)


查看完整回答
反对 回复 2021-10-26
?
千巷猫影

TA贡献1829条经验 获得超7个赞

要检查相等性,请使用==. 但是,我很确定您正在寻找isupper它本身,而不是检查它是否相等。isupper返回一个布尔值,可以通过您的if语句进行检查:


for line in fhand:

    line = line.strip()

    if line.isupper():

        print(line)


查看完整回答
反对 回复 2021-10-26
  • 3 回答
  • 0 关注
  • 227 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号