Pythonでは、スライスの終了値はです。
>>> begin=['physical','Physical','Software','software',]
>>> begin[2:3]
['Software']
>>> begin[0:1]
['physical']
使用begin[2:4]
とbegin[0:2]
あるいはbegin[2:]
とbegin[:2]
が最後まで第三からすべての要素を取得するには、最初から(包括的)第2回まで:あなたはあなたが思うよりも小さいリストをスライスされています。
いっそ
>>> begin[2:]
['Software', 'software']
>>> begin[2:4]
['Software', 'software']
>>> begin[:2]
['physical', 'Physical']
>>> begin[0:2]
['physical', 'Physical']
、あなたが提供する必要がある入力数を制限するstr.lower()
を使用します。
if answer.lower() == 'software':
テストする文字列が1つだけなので、関数を辞書に入れることができます。
options = {'software': software, 'physical': physical}
while True:
answer = input('Please enter one of the following options: {}\n'.format(
', '.join(options))
answer = answer.lower()
if answer in options:
options[answer]()
break
else:
print("Sorry, {} is not a valid option, try again".format(answer))
あなたの入力は何ですか?サンプル入力と期待される出力を提供する。 「[mcve]とは何か」を参照してください。 –
ソフトウェア/ソフトウェアを入力しようとすると –
また、入力は回答 –