第29节,最后一题求助!
string = input("请输入一个由字母构成的字符串: ")string_len = len(string)
text = ""
for i in range(0,string_len//2+1):
if string_len % (i+1) == 0:
test = string
if string.count(text) == string_len / (i+1):
print("True")
break
else:
print("False")
为啥我算出来结果永远是True呢?{:5_94:}
本帖最后由 isdkz 于 2023-2-22 11:11 编辑
你的代码中有一个变量名错误,导致输出结果永远是 "True"。具体来说,你在判断字符串是否是重复子串时,将子串赋值给了 "test" 变量,但在统计子串在原始字符串中出现的次数时,却使用了错误的变量名 "text"。
将变量名 "text" 改为 "test" 后,代码就可以正确地输出 "True" 或 "False" 了。以下是修改后的代码:
string = input("请输入一个由字母构成的字符串: ")
string_len = len(string)
for i in range(0, string_len // 2 + 1):
if string_len % (i+1) == 0:
test = string
if string.count(test) == string_len // (i+1):
print("True")
break
else:
print("False")
本帖最后由 chinajz 于 2023-2-22 22:52 编辑
拼写错误
test = string
改成
text = string
因为变量名错误,下次需要注意哦,把test改成text即可
string = input("请输入一个由字母构成的字符串: ")
string_len = len(string)
for i in range(0, string_len // 2 + 1):
if string_len % (i+1) == 0:
test = string
if string.count(test) == string_len // (i+1):
print("True")
break
else:
print("False")
页:
[1]