Python:精确输入4位数字,检查输入的数字是否出现在前10000个字符中

Python:精确输入4位数字,检查输入的数字是否出现在前10000个字符中,python,while-loop,Python,While Loop,给出了文件sqroot2_10kdigits.txt。 下面是一个用户使用输入和while循环输入4位数字,如下所示: def sqroot_2_string(string): return string.replace(" ", "") print(sqroot_2_string(txt)) print(len(sqroot_2_string(txt))) print('The first 10 digit of square root of 2

给出了文件sqroot2_10kdigits.txt。 下面是一个用户使用输入和while循环输入4位数字,如下所示:

def sqroot_2_string(string):
    return string.replace(" ", "")
print(sqroot_2_string(txt))
print(len(sqroot_2_string(txt)))
print('The first 10 digit of square root of 2 is', txt[:10])

# No. 3

while True:
    try: 
        number = str(input("Enter four digits: "))
        int(number)
        if len(number) > 4:
            print("Please enter four digits.")
        elif len(number) == 3:
          print("Sorry, you inputted 3 digit(s) ")
        elif number == 'q': 
            break   
        else :
            break
    except ValueError: 
        print("Please input only numerical values ")
        
Q4:当用户恰好输入4位数字时,检查输入的数字是否出现在2的平方根的前10000个字符(小数点后)中,并使用.find()方法告诉用户其位置。 打印以下内容: 数字{输入的数字}出现在2的平方根的前10000个字符中。 它们出现在小数点后的第{start position}个字符上。 在决定何时使用st、nd、rd或th时要小心。
例子: 输入四位数字:1421 数字1421出现在2的平方根的前10000个字符中,从小数点后的第2个字符开始。 输入四位数字:_ 如果数字没有出现,请说: 对不起,数字{输入的数字}没有出现在2的平方根的前10000个字符中。 输入四位数字:_

下面是我的代码,任何人都可以更改我的代码?

for idx, val in enumerate(number, 1):
    if val.isdigit():
        position = idx
        break
else:
    position = 0

if position:
    print('The digits', number, 'appear in the first 10,000 characters of the square root of 2.' )
    print('They appear starting on the ', position,'th character after the decimal.  ')
else:
    print('Sorry, the digits' number, 'do not appear in the first 10,000 characters of the square root of 2.')          

这太离谱了。请解释你的代码。我想这样做,你会发现你并没有真正遵循一种能够成功的方法。谷歌
rubberducking
以更好地理解我的提案。