0
mconfigQuantity = int(raw_input('Enter the number of (m)achine-configurations that you will need: '))
numberOfmconfig = 1


for mconfigs in range(1,mconfigQuantity+1):
    # %s conditional for mcidentifier
    STRINGnumberOfmconfig = str(numberOfmconfig)
    if STRINGnumberOfmconfig[-1] == '1':
        suffix = 'st'
    elif STRINGnumberOfmconfig[-1] == '2':
        suffix = 'nd'
    elif STRINGnumberOfmconfig[-1] == '3':
        suffix = 'rd'
    else: suffix = 'th'
    finalConfigName = STRINGnumberOfmconfig + suffix
    mcidentifier = raw_input('Enter the letter of your %s (m)achine-configuration: ') % (finalConfigName)
    numberOfmconfig = numberOfmconfig + 1






print mconfig()

このスニペットを数回書き直しましたが、指定したデータに置き換えるのではなく、なぜ「%s」を印刷しているのか、私には意味がありません。なぜ機能しないのかを示すものは何も見つかりません。

4

1 に答える 1

5

そのはず

mcidentifier = raw_input(
    'Enter the letter of your %s (m)achine-configuration: ' % finalConfigName)

%結果の文字列、つまり によって返される文字列に適用されるように、演算子の前の括弧を閉じましたraw_input

また、新しいコードでは、新しい文字列書式設定構文が推奨されることに注意してください。

mcidentifier = raw_input(
 'Enter the letter of your {} (m)achine-configuration: '.format(finalConfigName))
于 2013-03-23T17:28:23.147 に答える