Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 必须告诉用户需要多少次翻转才能更改B';s到A';s工作不正常_Python - Fatal编程技术网

Python 必须告诉用户需要多少次翻转才能更改B';s到A';s工作不正常

Python 必须告诉用户需要多少次翻转才能更改B';s到A';s工作不正常,python,Python,我已经编写了一些代码,其中我必须编写一个程序,要求用户提供一行煎饼,它们是字母a或B,代码必须告诉用户制作所有煎饼需要多少次翻转,用户必须输入一行中一次可以翻转多少个煎饼。如果煎饼不能翻转并且全部是字母,因为代码必须输出,这就无法完成。您想再试一次吗? 代码当前输出以下内容: Enter the row and the side of the pancakes A/B): BBBB How many pancakes can flipped at one time? 2 It took 0 fl

我已经编写了一些代码,其中我必须编写一个程序,要求用户提供一行煎饼,它们是字母a或B,代码必须告诉用户制作所有煎饼需要多少次翻转,用户必须输入一行中一次可以翻转多少个煎饼。如果煎饼不能翻转并且全部是字母,因为代码必须输出
,这就无法完成。您想再试一次吗?

代码当前输出以下内容:

Enter the row and the side of the pancakes A/B): BBBB
How many pancakes can flipped at one time? 2
It took 0 flips.
Would you like to run this program again? 
Enter the row and the side of the pancakes (A/B): BBBB
How many pancakes can flipped at one time? 2
其中应输出以下内容:

Enter the row and the side of the pancakes A/B): BBBB
How many pancakes can flipped at one time? 2
It took 0 flips.
Would you like to run this program again? 
Enter the row and the side of the pancakes (A/B): BBBB
How many pancakes can flipped at one time? 2
它不应该告诉用户他们是否想再次玩,因为煎饼还没有完全翻转到A

我的代码如下:

i=True
翻转=0
当i==True时:
煎饼=列表(输入('输入煎饼的行和边(A/B):'))
flipper=int(输入(“一次可以翻转多少个煎饼?”)
i=假
如果煎饼中的“O”:
翻转=翻转+1
对于范围内的x(翻转器):
如果煎饼[x]=“A”:
煎饼[x]=“B”
煎饼=(''.join(煎饼))
如果翻转=1:
打印('翻转了一次。')
play=input(“是否要再次运行此程序?”)
如果播放='Yes'或播放='Yes'或播放='Y'或播放='Y':
i=正确
其他:
退出
如果翻转=0:
打印('花了',翻转,'翻转')
play=input(“是否要再次运行此程序?”)
如果播放='Yes'或播放='Yes'或播放='Y'或播放='Y':
i=正确
其他:
退出
如果翻转>1:
打印('花了',翻转,'翻转')
play=input(“是否要再次运行此程序?”)
如果播放='Yes'或播放='Yes'或播放='Y'或播放='Y':
i=正确
其他:
退出
代码的一个问题是,它当前未正确输出正确的翻转次数


谢谢。

这是我解决这个问题的代码

为True时:
煎饼=输入('输入煎饼的行和边(A/B):')
flipper=int(输入(“一次可以翻转多少个煎饼?”)
结果,可能=0,为真
对于煎饼中的行。拆分('B'):
cnt,rem=divmod(len(row),鳍状肢)
如果rem!=0:
可能=错误
打破
结果+=cnt
如有可能:
打印(“翻转了%d次”。%result)
resp=input('是否再次运行此程序?')
其他:
resp=input(“无法完成此操作。是否重试?”)
如果resp.lower()不在['yes','y']中:
打破

您没有正确实现翻转逻辑,或者根本没有正确实现翻转逻辑。因为这似乎是一种家庭作业,所以您必须在这之前付出一些努力,以便用户帮助解决问题。不过,代码中还有其他一些明显的问题:煎饼(A/B)和汉堡包(T/O)混合得非常糟糕。代码同时使用了这两种方式,输出显示的内容与代码打印的内容不同。我不确定您所说的一行中一次可以翻转多少个煎饼是什么意思。。。这是否意味着你必须翻转那么多,而且它们彼此相邻。。。例如:BAB的值为2时:1)只需翻动B&B,你就可以得到AAA-所以它是一个翻动,或者2)你翻动BA,它变成AB,留下你ABB,然后你可以一起翻动BB,得到AAA。。。因此需要两次翻转?嗨,例如,如果用户输入BBBB,翻转大小为2,结果将是AABB,它可以翻转成一行的煎饼,因此,例如,它不能是BABA,因为它会翻转第二个和第四个煎饼。希望这是有意义的。因此,为了确认给定的BBBB,有效的第一次翻转是:AABB,BAAB,BBAA?嗨,乔恩,目标是让所有的煎饼都翻转到A面。因此,翻转大小为2的第一步是AABB,然后是AAAA,这是成功的,并且进行了2次翻转。如果flipper的大小是3,它将是AAAB,它将无法工作,因此代码应该输出“不可能”