• IT外包_上海IT外包_服務器運維外包_賽奎特信息技術有限公司
    當前位置:IT外包 > 新聞資訊 > 常見問題 >

    有無大佬懂python bug,不清楚哪里出錯了

    發表日期:2019-10-17 14:56文章編輯:IT外包瀏覽次數: 標簽:    

    問:python語法不太熟,不知這樣寫對不對
    運行程序的時候最后輸入end總是報錯,說end沒有定義,但我自己并看不出問題
     
    n = str(input("Enter a number, end with 'end':"))
    s = []
    while n.lower() != "end":
        s.append(int(n))
        n = str(input("Enter a number, end with 'end':"))
     
    s.sort()
    even_number = 0
    odd_number = 0
    for i in s:
        if s[i]%2 == 0:
            even_number+=1
        else:
            odd_number+=1
     
    print('the smallest value is ',s[0],'the largest value is ',s[-1])
    print('the number of even number is ',even_number,'the number of odd number is ',odd_number)
    Sum = 0
    for i in s:
        Sum +=s[i]
        print(Sum)



    答:
    python2的help:
     
    Help on built-in function input in module builtin:
     
    input(...)
    input([prompt]) -> value
     
    Equivalent to eval(raw_input(prompt)).
    把輸入的字符串當成表達式來計算,因此end會解釋為一個變量。但是因為end在代碼中未定義,所以出錯:
    NameError: name 'end' is not defined
     
    解決辦法: 改用 raw_input()
    相關新聞
    it外包
    Keywords: it外包 it外包
    爱搞com_国内自拍 第37页_可以免费看的黄色网站_欧美成aⅴ人高清色屋