2017-09-23 175 views
-2

我在Python 2.7.10中完成了一個程序來查找給定位置的字符。不過似乎有與IF環一個問題...Python編程(python 2.7.10):IF循環

n= raw_input() #input string 
print(n) 
t= raw_input() #position of the character in the string to be retrieved 
for i in range(0,10): 
    if i == t; 
    print(n[i-1]) 

輸出:

hey 
hey 
1 

我在repl.it.執行該程序在迭代過程中,IF循環檢查值是否取值爲字符't'而不是變量t,其中存儲要獲取角色的位置。任何有關如何解決此問題的想法?

回答

0

使用變量t作爲int。 raw_input將返回一個字符串。你必須將其轉換爲int。試試這個

n= raw_input() #input string 
print(n) 
t= raw_input() #position of the character in the string to be retrieved 
for i in range(0,10): 
    if i == int(t): 
    print(n[i-1]) 

我不知道你正在嘗試做的,但最好的方法,你可以得到的字符與輸入位置,

n= raw_input() #input string 
print(n) 
t= int(raw_input()) 
print(n[t-1]) 
0

你並不需要一個for循環如果您的要求與您在您的問題中提到的一樣:

n= raw_input("Enter a string:") #input string 
print("You entered: {}".format(n)) 
t= int(raw_input("Enter a positionf of the character to be retrieved:")) #position of the character in the string to be retrieved 
if t < 1 or t > len(n): 
    print ("Not found.") 
else: 
    print ("You asked for: {} at index {}".format(n[t-1], t))