巴马纳沙占卜Python程序

巴马纳沙占卜Python程序,python,Python,我有一个任务,需要编写一个Python程序,复制巴马纳的风水实践 实现这一点的第一个任务是编写一个程序,将输入作为一行文本 行可以由任意数量的空格或破折号(-)组成,但不能包含其他字符 给定这一行,显示破折号是奇数还是偶数 如果行中有偶数个破折号,则输出0 否则,输出1 这是我迄今为止编写的代码: dashes = str(input()) mod = dashes % 2 if mod > 0: print("0") else: print

我有一个任务,需要编写一个Python程序,复制巴马纳的风水实践


  • 实现这一点的第一个任务是编写一个程序,将输入作为一行文本
  • 行可以由任意数量的空格或破折号(-)组成,但不能包含其他字符
  • 给定这一行,显示破折号是奇数还是偶数
  • 如果行中有偶数个破折号,则输出0
  • 否则,输出1

这是我迄今为止编写的代码:

dashes = str(input())

mod = dashes % 2

if mod > 0:
    print("0")
else:
    print("1")
它坏了,请有人帮我一下好吗


谢谢。

您遗漏了重要的一点:破折号的数量,请使用
str.count

line = input("Enter a list of dashes: ")
nb_dashes = line.count("-")
mod = nb_dashes % 2
if mod > 0:
    print("0")
else:
    print("1")

正如您所知,您可以使用
bool=>int
转换来打印0或1

mod = nb_dashes % 2
print(int(mod == 0)) # True > 1, False > 0

你试图对一个字符串进行模化,这毫无意义

您应该首先使用
.count
方法获得破折号的数量,然后对其进行模化,再加上python 3中的
input
函数已经返回了一个字符串,因此不需要对其进行转换

inp = input("Enter a list of dashes: ")
dashes = inp.count('-')
mod = len(dashes) % 2
if mod > 0:
    print("0")
else:
    print("1")

如果输入中有空格,这将不起作用,因为它也会将空格计为破折号。谢谢您的帮助!它怎么不起作用?你预计会发生什么?结果如何?我希望得到0或1作为我的输出,但是我得到了一个错误。非常感谢!