❶ python 從鍵盤輸入5個英文單詞,輸出以母音字母開頭的單詞
這里記錄在網易雲課堂上的課後作業,Python環境為2.7,如果您有更好的演算法還望斧正!
1.題目內容: 「Pig Latin」是一個英語兒童文字改寫游戲,整個游戲遵從下述規則:
(1). 母音字母是『a』、『e』、『i』、『o』、『u』。字母『y』在不是第一個字母的情況下,也被視作母音字母。其他字母均為輔音字母。例如,單詞「yearly」有三個母音字母(分別為『e』、『a』和最後一個『y』)和三個輔音字母(第一個『y』、『r』和『l』)。
(2). 如果英文單詞以母音字母開始,則在單詞末尾加入「hay」後得到「Pig Latin」對應單詞。例如,「ask」變為「askhay」,「use」變為「usehay」。
(3). 如果英文單詞以『q』字母開始,並且後面有個字母『u』,將「qu」移動到單詞末尾加入「ay」後得到「Pig Latin」對應單詞。例如,「quiet」變為「ietquay」,「quay」變為「ayquay」。
(4). 如果英文單詞以輔音字母開始,所有連續的輔音字母一起移動到單詞末尾加入「ay」後得到「Pig Latin」對應單詞。例如,「tomato」變為「omatotay」, 「school」 變為「oolschay」,「you」 變為「ouyay」,「my」 變為「ymay 」,「ssssh」 變為「sssshay」。
(5). 如果英文單詞中有大寫字母,必須所有字母均轉換為小寫。
輸入格式:
一系列單詞,單詞之間使用空格分隔。
輸出格式:
按照以上規則轉化每個單詞,單詞之間使用空格分隔。
輸入樣例:
Welcome to the Python world Are you ready
輸出樣例:
elcomeway otay ethay ythonpay orldway arehay ouyay eadyray
時間限制:500ms內存限制:32000kb
我的答案:
import string
s = raw_input()
words = s.split()
newWords = ''
for word in words:
tmp = word.lower()
if tmp[0] in 'aeiou':
tmp += 'hay'
elif tmp[0] == 'q' and tmp[1] == 'u':
tmp = tmp[2:] + 'quay'
else:
tmp = tmp[1:] + tmp[0]
for i in range(0, len(tmp)):
if tmp[i] in 'aeiouy':
break;
tmp = tmp[i:] + tmp[:i] + 'ay'
newWords += tmp + ' '
print newWords.strip()
用例
測試結果
運行時間
佔用內存
提示
得分
1
通過
18ms
5236kb
1
2
通過
18ms
5236kb
1
2.題目內容: 依次判斷一系列給定的字元串是否為合法的 Python 標識符。
輸入格式:
一系列字元串,每個字元串佔一行。
輸出格式:
判斷每行字元串是否為合法的 Python 標示符,如果合法則輸出 True,否則輸出 False。
輸入樣例:
abc
_def
21gh
輸出樣例:
True
True
False
時間限制:500ms內存限制:32000kb
import re
tmp = raw_input()
while(tmp != ''):
if not re.search(u'^[_a-zA-Z0-9]+$',tmp):
print False
elif not re.search(u'^[_a-zA-Z]+$',tmp[0]):
print False
else:
print True
tmp = raw_input()
用例
測試結果
運行時間
佔用內存
提示
得分
1
通過
17ms
5112kb
1
3.題目內容: 依次計算一系列給定字元串的字母值,字母值為字元串中每個字母對應的編號值(A對應1,B對應2,以此類推,不區分大小寫字母,非字母字元對應的值為0)的總和。例如,Colin 的字母值為 3 + 15 + 12 + 9 + 14 = 53
輸入格式:
一系列字元串,每個字元串佔一行。
輸出格式:
計算並輸出每行字元串的字母值。
輸入樣例:
Colin
ABC
輸出樣例:
53
6
時間限制:500ms內存限制:32000kb
tmp = raw_input()
while(tmp != ''):
num = 0
tmp = tmp.lower()
for c in tmp:
i = ord(c) - 96
if i < 1 or i > 26:
i = 0
num += i
print num
tmp = raw_input()
用例
測試結果
運行時間
佔用內存
提示
得分
1
通過
17ms
5112kb
1
2
通過
17ms
5116kb
1
❷ python編程問題英語版
你能讀懂英文不,題目意思很簡單的,就是判斷字元串是否是迴文(即反序後和原來字元串一樣)。
迴文(Palindrome),就是一個序列(如字元串)正著讀反著讀是一樣的。如何判斷一個字元串是迴文結構呢?在MIT Introction to CS and Programming Lec 4 (39:38) 里,介紹了遞歸的方法:
def isPalindrome(s):
if len(s) = 1:
return True
else:
return s[0] == s[-1] and isPalindrome(s[1:-1])
其實完全可以用循環實現,復雜度是一樣的:def isPalindrome1(s):
for i in range(len(s))/2:
if not s[i] == s[len(s)-i-1]:
return False
return True
不過其實我們都被忽悠啦,在Python里可以很容易的從迴文的定義來判斷,就是字元串的倒序和字元串本身是一樣的話,就是迴文。
def isPalindrome2(s):
return s == s[::-1]
以上的實現復雜度也是O(n)的,不過是python內部用C語言實現的,猜測會比前2個方法快。
❸ 關於python 語言基礎的練習題
一、Python語言的簡述
Python語言是一種解釋型、面向對象的編程語言,是一種開源語言。
Python屬於動態類定義語言,也是一種強調類型語言。
二、Python語言的特點
1、簡單、高級
2、面向對象
3、可擴展性、免費和開源的
4、可移植型、可嵌入型、豐富的庫
三、Python語言的應用范圍
1、操作系統管理
2、科學計算
3、Web應用
4、圖形用戶界面(GUI)開發
5、其他,例如游戲開發等
優點
簡單:Python是一種代表簡單主義思想的語言。閱讀一個良好的Python程序就感覺像是在讀英語一樣。它使你能夠專注於解決問題而不是去搞明白語言本身。
易學:Python極其容易上手,因為Python有極其簡單的說明文檔。
易讀、易維護:風格清晰劃一、強制縮進。
用途廣泛。
速度快:Python的底層是用C語言寫的,很多標准庫和第三方庫也都是用C寫的,運行速度非常快。
免費、開源:Python是FLOSS(自由/開放源碼軟體)之一。使用者可以自由地發布這個軟體的拷貝、閱讀它的源代碼、對它做改動、把它的一部分用於新的自由軟體中。FLOSS是基於一個團體分享知識的概念。
❹ python怎麼發音
python發音:
英['paɪθən];美['paɪθɑːn]
一、意思:n.大蟒;巨蟒
二、例句:
A giant python sure gave these folks a scare.
這條巨蟒足以讓村民大吃一驚。
三、詞彙用法/搭配:
復數形式:pythons
(4)python英語試題擴展閱讀:
近義詞:anaconda
一、意思:n.水蟒
二、讀音:英[ˌænə'kɒndə];美[ˌænə'kɑːndə]
三、例句:
The anaconda wrapped itself around the boy.
這條水蟒卷在孩子身上。
❺ 有一個python的題,請教一下大家。是英文的。
好像是寫一個handler,要把上面提到的所有exception都囊括進去
❻ 這個python題目怎麼寫
a = input(' 請輸入一個英文字母:').lower()
if a == 'z':
b = 'a'
else:
b = chr(ord(a)+1)
print('字母'+a+'下一個字母為:',b)
❼ 求大神,問個Python英語題
Given dictionaries, d1 and d2, create a new dictionary with the following property: for each entry (a, b) in d1, if a is not a key of d2 (i.e., not a in d2) then add (a,b) to the new dictionary for each entry (a, b) in d2, if a is not a key of d1 (i.e., not a in d1) then add (a,b) to the new dictionary For example, if d1 is {2:3, 8:19, 6:4, 5:12} and d2 is {2:5, 4:3, 3:9}, then the new dictionary should be {8:19, 6:4, 5:12, 4:3, 3:9} Associate the new dictionary with the variable d3
❽ python編程之兩個文件,英文原題,抓狂中,求好心人幫助解答
這道題的關鍵是acronym這個單詞,在這里意思是首字母縮寫,比如常見的most valuable player的acronym就是MVP,還有VIP等等
然後題目的意思就是讓用戶輸入兩個文件的名字,然後用一個函數把第一個文件中的片語變成首字母縮寫的形式再寫入到第二個文件中,那我們要完成的主要就是那個函數.
那我們就把它命名為acronym好了,參數是一個string(字元串),返回值為它的acronym(首字母縮寫)
下面是我的代碼
print "Please input the filename to read"
f2read=raw_input()
print "Please input the filename to write"
f2write=raw_input()
f1=file(f2read,'r')
f2=file(f2write,'w')
def acronym(string):
s=''
p=string.split(' ')
for word in p:
s+=(word[0].upper()) #一般的首字母縮寫都是大寫的,所以用upper()這個函數
return s
lines=f1.readlines()
for line in lines:
f2.write(acronym(line))
f2.write('\n')
f2.close()
f1.close()
我測試後通過了。
若有疑問隨時找我,蟒蛇小組祝您編程愉快!
❾ 剛學python出現個小問題:invalid literal for int() with base 10:
異常出現的直接原因即是,對於一個浮點數的字元('12.3'),直接使用 int 進行強制類型轉換:
>>> int('1.5')
ValueError: invalid literal for int() with base 10: '1.5'>>> int('1.0')
ValueError: invalid literal for int() with base 10: '1.0'1234
也即,使用 int 對一個字元類型的數據進行強制類型轉換時,要求輸入的字元類型只能為整數,不能為浮點數。
如果非要整數浮點數一起輸入,或者可以換成下面做法
a=float(input())
這樣,不管你輸的是整數還是浮點都可以通過.可是,切記,其它字元比如abc之類的,還是不行哦!
❿ python怎麼念 英語python怎麼念
1、python英[ˈpaɪθən]美[ˈpaɪθɑːn],n.蟒蛇; 蟒; 蚺蛇。
2、[例句]The participants goal: consume as many insects and worms as they could to take home a$ 850 python.比賽共吸引二三十人參加,生吃蟑螂和蟲子最多者奪冠,獎品是一條價值850美元的大蟒蛇。