Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.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 如何判断两个变量的字符是否相似或相同?_Python_String_Variables - Fatal编程技术网

Python 如何判断两个变量的字符是否相似或相同?

Python 如何判断两个变量的字符是否相似或相同?,python,string,variables,Python,String,Variables,我试图看看用户是否可以通过使用in命令正确猜测随机生成的四位数,但是如果他得到了一些正确的数字,我们会通知用户 number=random.randit(1000,9999) number=str(number) guess=input("Guess number") if any (guess in number): print("Some digits correct") 如果您不需要查看数字位置是否正确,一种方法是将数字和猜测转换为数字集。例如: number = 2145 gue

我试图看看用户是否可以通过使用in命令正确猜测随机生成的四位数,但是如果他得到了一些正确的数字,我们会通知用户

number=random.randit(1000,9999)
number=str(number)
guess=input("Guess number")
if any (guess in number):
   print("Some digits correct")

如果您不需要查看数字位置是否正确,一种方法是将
数字
猜测
转换为数字集。例如:

number = 2145
guess = 1078
set(str(number)) & set(str(guess))  # {'1'}
否则,使用内置的可能也很有用


希望这有帮助

如果您不需要查看数字的位置是否正确,一种方法是将
数字
猜测
转换为数字集。例如:

number = 2145
guess = 1078
set(str(number)) & set(str(guess))  # {'1'}
否则,使用内置的可能也很有用


希望这有帮助

创建随机数后,将其转换为字符串。 将数字转换为字符串后,请将用户输入的内容拆分为字符数组,然后针对每个字符检查随机数是否包含用户输入的字符。 对于正确猜测的每个字符,递增一个名为“正确猜测”的变量。
然后,您可以通过将正确猜测的数字除以输入猜测的数组长度,给出用户正确程度的百分比/权重。

创建随机数后,将其转换为字符串。 将数字转换为字符串后,请将用户输入的内容拆分为字符数组,然后针对每个字符检查随机数是否包含用户输入的字符。 对于正确猜测的每个字符,递增一个名为“正确猜测”的变量。
然后,通过将正确猜测的数字除以输入猜测的数组长度,您可以给出用户正确程度的百分比/权重。

比较字符串的一种方法是用以下数字计算每个数字的出现次数:

然后可以从0到9进行迭代,并从两个计数器中找到最小值:

>>> c1 = Counter('3399')
>>> c2 = Counter('9993')
>>> [(i,min(c1[str(i)], c2[str(i)])) for i in range(10)]
[(0, 0), (1, 0), (2, 0), (3, 1), (4, 0), (5, 0), (6, 0), (7, 0), (8, 0), (9, 2)]

这意味着共有一个
3
和两个
9
s.

比较字符串的一种方法是用一个:

然后可以从0到9进行迭代,并从两个计数器中找到最小值:

>>> c1 = Counter('3399')
>>> c2 = Counter('9993')
>>> [(i,min(c1[str(i)], c2[str(i)])) for i in range(10)]
[(0, 0), (1, 0), (2, 0), (3, 1), (4, 0), (5, 0), (6, 0), (7, 0), (8, 0), (9, 2)]

这意味着共有一个
3
,两个
9
s.

生成器必须检查用户猜测中的每个数字:

number=randint(1000,9999)
number=str(number)
guess=input("Guess number")
if any (i in number for i in str(guess)):
    print("Some digits correct")

生成器必须检查用户猜测中的每个数字:

number=randint(1000,9999)
number=str(number)
guess=input("Guess number")
if any (i in number for i in str(guess)):
    print("Some digits correct")

可能重复的可能重复的您可能还需要添加一些逻辑,以便在随机生成的数字中重复数字,例如:随机数:5556猜测:3456随机数包含5和6,但不包含3和4。我不确定您需要遵循哪些规则,但我预计如果您必须满足某些标准,则重复数字将是一个问题。您可能还需要添加一些逻辑,以便在随机生成的数字中重复数字,例如:随机数:5556猜测:3456随机数包含5和6,但不包含3和4。我不确定你需要遵循什么规则,但我预计如果你必须满足某些标准,重复数字是一个问题。请注意,重复数字不起作用:正确猜测
1111
只会输出一个正确的数字。啊,是的,你是对的!但它仍然可以正确地识别用户“获取的某些数字是正确的”请注意,它不适用于重复的数字:正确猜测
1111
只会输出一个正确的数字。啊,是的,你是对的!但它仍然可以正确地识别用户“获取的某些数字是正确的”