2017-09-23 15 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]) 

出力:私はrepl.it.でこのプログラムを実行した

hey 
hey 
1 

反復処理中、IFループは、得られる文字の位置が格納されている変数tの代わりに、値iが文字 't'の値をとるかどうかをチェックします。

答えて

0

変数tをintとして使用します。 raw_inputは文字列を返します。それをintに変換する必要があります。私はあなたがやろうとしているのか分からないが、あなたが入力位置から文字を取得することができます最善の方法は、

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

であるあなたがforループは必要ありません。この

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("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)) 
関連する問題