Py学习  »  Python

用python打印带条件的字符串[复制]

Salah Zahran • 4 年前 • 570 次点击  

我试图完成一个简短的python代码来输出鸭子的名字。对于那些第一个字母是“O”和“Q”的鸭子,它们必须在第一个字母后面印上“u”。我已经试过我的代码,但出于某种原因,它会把每个字母都打印成u,不管是‘Q’还是其他字母。

prefixes = "JKLMNOPQ"
suffix = "ack"

for p in prefixes:
    print(p + suffix)
    if(p == 'O' or 'Q'):
        print(p + 'u' + suffix)
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/55281
 
570 次点击  
文章 [ 2 ]  |  最新文章 4 年前
Grismar
Reply   •   1 楼
Grismar    4 年前

p == 'O' or 'Q'

结果是 (p == 'O') or 'Q' 因为非空字符串的布尔值总是 True ,表达式总是 真的 .

你想要:

p in ['O', 'Q']

你也可以 p == 'O' or p == 'Q' or p == etc. ,但这会变得非常重复。

prefixes = "JKLMNOPQ"
suffix = "ack"

for p in prefixes:
    if p in ['O', 'Q']:
        print(p + 'u' + suffix)
    else:
        print(p + suffix)
stanely
Reply   •   2 楼
stanely    4 年前

试试这个。。。

如果p='O'或p='Q':