2017-02-27 84 views
0

好日子同胞的程序員!如何在python 3.0中做flipside函數?

這是我得到了我的Python類的說明,我掙扎這麼難使輸入顯示爲我想。

另一面(S)需要一個字符串s,並返回一個字符串,其前半部分爲s的下半年和下半年是第一。如果長度是奇數,則輸入字符串的前半部分應該比後半部分少一個字符。例如,串地毯將具有輸出petcar。輸入地毯將有輸出寵物車。

這是我當前的代碼:

def flipside(): 

    print("This program will return second half as first half of what you write.") 
    s = input("Type in any word: ") 

    newWord = len(s)%2 
    print("DEBUG: ",newWord) 

    if newWord == 1: 
     print("DEBUG: ODD") 
     print (s[3:]+s[:4]) 
    else: 
     print("DEBUG: EVEN") 
     print(s[4:]+s[:4]) 

我真的很迷茫的我應該鍵入括號裏面是什麼正確地切了的話。我使用谷歌搜索周圍找到這個功能的解決方案,並沒有工作。

可以在任何有經驗的Python程序員向我解釋我做了什麼錯我的代碼?我想學習。

我使用Python 3.0

+2

因爲你是新來的,所以我寫信給你。我注意到這個問題的主要原因是你沒有說你想達到什麼目的。 (然後還有一個事實,即有些人對SO會反對被要求解決學生的問題。) –

+0

比爾貝爾,讓我知道感謝。我對這個完全陌生,如果有什麼我不明白的地方,我的同學會推薦他們去那裏尋求幫助。我很抱歉沒有說我想達到什麼目的。我將編輯我的主帖。 – Kevin

+0

閱讀介紹之旅;這將涵蓋許多新朋友的問題。我仍然每月提及一次。 – Prune

回答

1

這不是Python編程的問題,只是發現的分割點。無論你發現,你的新字符串將是你給的第二種形式:

s[div_pt:] + s[:div_pt] 

「奇」如果你給重複的第四個字母。

整數除法應該解決您的問題,爲您提供:

div_pt = len(s) // 2 

你可以溜進那些到你的程序,看看你得到了什麼?嘗試幾個不同的例子,如「地毯」和「菸灰缸」。

+0

非常感謝!我不擅長數學,所以我每天都會學習,每當我編程!就我能理解的功能而言,完美地工作。感謝您通過「//」拓寬我的知識面。祝你有美好的一天! – Kevin

+0

很高興能有所幫助。請記住投票贊成有用的東西並接受答案(即使您必須自己寫),以便SO可以正確歸檔問題。 – Prune