gpt4 book ai didi

python - 代码不适用于用户输入 A 或 B 并交换到所有 A

转载 作者:行者123 更新时间:2023-12-01 00:51:59 27 4
gpt4 key购买 nike

我创建了部分代码,用户在其中输入字母“A”或“B”。程序的目的是判断字母是否可以交换为全字母“A”,用户必须输入可能发生交换的大小。

例如,如果用户输入 AABB 并且交换大小为 3,则输出应为 BBAB,其中两个“A”变为“B”,一个“B”变为“A”。

目前我的代码似乎没有替换字母并在出现错误的地方交换它们。

我的代码如下:

row = input('Enter the row and the side (A/B): ')
swap = int(input('How many places can be swapped? '))

if row[0] == B and row[swap] == B:
row[0] = replace('B' , 'A')
row[swap] = replace('B' , 'A')
print(row)

当前代码输出以下内容:

Enter the row and the side (A/B): BBAA
How many places can be swapped? 2
Traceback (most recent call last):
File "program.py", line 4, in <module>
if row[0] == B and row[swap] == B:
NameError: name 'B' is not defined

代码应该输出 AAAA。

感谢您的帮助。

最佳答案

问题:

  • 您的状况检查有误。 如果 row[0] == B 且 row[swap] == B:。这里 B 不是变量而是字符串文字。因此您应该使用'B'。经过这些更正后,代码也无法工作。

您可以使用maketranstranslate:

row = input('Enter the row and the side (A/B): ')
swap = int(input('How many places can be swapped? '))

table = row.maketrans('AB', 'BA')
s = ''

for i in range(swap):
s += row[i].translate(table)
row = s + row[swap:]

print(row)

关于python - 代码不适用于用户输入 A 或 B 并交换到所有 A,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56503641/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com