1樓:匿名使用者
不用困擾啊,你試著bai做就很輕鬆解決了du。zhi關鍵是選對方法。
辦法dao有不少於2種。 比較正式的做法回是先用答遞迴把函式引數解析出來
當解析到最後一層時,把上一層的函式保留下來,最後只保留最後一層的函式名和最後一層的引數名。放在堆疊裡。
將結果把按順序列印出來
我想困擾你的應該是你對遞迴演算法,或者是堆疊的原理不太熟悉。另外就是對python的陣列這個資料結構的push,pop方法不熟悉。
你分別單獨練習,練熟了,再做這道題就很輕鬆了。
還有一種偏門的方法,直接統計括號數,然後計算括號層數。倒數一層,找到匹配的括號對,把括號對裡的函式提出來,再用,進行split,最後再用join接起來。這樣**量,估計3-4行就解決問題了。
也不需要遞迴與堆疊。不過,這樣一來,你的老師要失望了。他的目標應該是讓你練習遞迴的。
python寫一個要求使用者輸入數字,如果不是數字就一直迴圈要求輸入,直到輸入數字為止的**
2樓:匿名使用者
主要bai出在eval上。
python3.0
第一個du
方案zhi:
while true:
ten=input("x:")
try:
x=eval(ten)
if type(x)==int:breakexcept:pass
然後輸入asf,沒dao有提示。輸入344就退出了回x:asf
x:344
第二個方案
while true:
ten=none
try:
ten=int(input("x:"))
except:pass
if type(ten)==int:break這個在python3.0上除錯通答過
第三個方案:python2.x的方案
while true:
ten=raw_input("enter a number:")if ten.isdigit():
breakten=int(ten) #或者是ten=eval(ten)都除錯過。可以用
3樓:斑馬線下老漁夫
具體bai解決辦法如下:
第一個方案du:
1.複製**,如下,zhi
while true:
ten=input("x:")
try:
x=eval(ten)
if type(x)==int:
break
except:
pass
2.然後輸入asf,沒有提dao示。輸入344就退出了回x:asf
x:344
第二個答方案
1.複製**
while true:
ten=none
try:
ten=int(input("x:"))
except:
pass
if type(ten)==int:
break
這個在python3.0上除錯通過
第三個方案:python2.x的方案
while true:
ten=raw_input("enter a number:")if ten.isdigit():
break
ten=int(ten) #或者是ten=eval(ten)
4樓:匿名使用者
首先你使用的input的函copy數,但是input函式必須接受的型別為數字你輸入非數字的字母會報錯。
其次如果你輸入了數字你這個程式也不會正常工作,ten的型別可能是float也可能是int 但是eval接受的引數型別必須是字串,所以這句if也會出錯。
改為 if type(ten) is type(1):break
5樓:匿名使用者
def getint():
while 1:
num = input("enter an integer, 0 to end: ")
if num.isdigits():
return num
6樓:允賢
while true:
try:
a=int(input(('請輸
入bai
du一個數字:')))
print('你輸zhi入的數字是
dao',a)
break
except valueerror:
print('輸入有誤,專請重新輸入')
python3版本屬
除錯通過
python2.7,輸入一個字串,統計其中每個字元出現的次數(不區分大小寫),使用列表及字串函式
7樓:ru惡魔獵手
s = input().lower()
result = [[e, s.count(e)] for e in set(list(s))]
print(result)
8樓:啼灬世
str=input("請輸入一串字元")
str1=str.lower()
str2={}
for i in str1:
str2[i]=str1.count(i)print(str2)
9樓:匿名使用者
str1=input().lower()
i=input()
count=str1.count(i)
print(count)
10樓:加百列在微笑
result = [str.count(e) for e in set(list(str)) ]
記得給我個最佳
python,編寫程式,統計大小寫字母,數字及其他字元的數量,並以字典形式輸出
11樓:凌亂心扉
a = "aa**r3idd4bgs7dlsf9eaf"
請將a字串的數字取出,並輸出成一個新的字串。
請統計a字串出現的每個字母的出現次數(忽略大小寫,a與a是同一個字母),並輸出成一個字典。 例
請去除a字串多次出現的字母,僅留最先出現的一個,大小寫不敏感。
例 :'aa**r3idd4bgs7dlsf9eaf',經過去除後,輸出 'a**r3id4bg7lf9e'
a="aa**r3idd4bgs7dlsf9eaf"
def fun1_2(x):#1&2
x=x.lower()#大小寫轉換
num=
dic={}
for i in x:
if i.isdigit():#判斷如果為數字,請將a字串的數字取出,並輸出一個新的字串
else:#2請統計a字串出現每個字母的出現次數(忽視大小寫),並輸出一個字典。例:
if i in dic:
continue
else:
dic=x.count(i)
new=''.join(num)
print"the new numbers string is:"+new
print"the dictionary is:%s"%dic
fun1_2(a)
def fun3(x):
x=x.lower()
new3=
for i in x:
if i in new3:
continue
else:
print''.join(new3)
fun3(a)
12樓:
#!/usr/bin/python
# -*- coding:utf-8 -*-# @file : statistics.py"""統計字串中大寫的字母、小寫的字母、數字及其他字元的個數,以字典形式返回
"""def statistic_string(ostr):
"""統計字串中大寫的字母、小寫的字母、數字及其他字元的個數,以字典形式返回
"""uppers = 0
lowers = 0
digits = 0
others = 0
odict = {}
for istr in ostr:
if istr.isupper():
uppers += 1
elif istr.islower():
lowers += 1
elif istr.isdigit():
digits += 1
else:
others += 1
else:
odict.setdefault('uppers', uppers)odict.setdefault('lowers', lowers)odict.
setdefault('digits', digits)odict.setdefault('others', others)return odict
if __name__ == '__main__':
astr = raw_input(u'請輸入一個字串:')print statistic_string(astr)
python 字元與數字如何轉換
13樓:zer0小雪
python中字元與數字相互轉換用chr()即可。
python中的字元數字之間的轉換函式
int(x [,base ]) 將x轉換為一個整數
long(x [,base ]) 將x轉換為一個長整數
float(x ) 將x轉換到一個浮點數
complex(real [,imag ]) 建立一個複數
str(x ) 將物件 x 轉換為字串
repr(x ) 將物件 x 轉換為表示式字串
eval(str ) 用來計算在字串中的有效python表示式,並返回一個物件
tuple(s ) 將序列 s 轉換為一個元組
list(s ) 將序列 s 轉換為一個列表
chr(x ) 將一個整數轉換為一個字元
unichr(x ) 將一個整數轉換為unicode字元
ord(x ) 將一個字元轉換為它的整數值
hex(x ) 將一個整數轉換為一個十六進位制字串
oct(x ) 將一個整數轉換為一個八進位制字串
chr(65)='a'
ord('a')=65
int('2')=2;
str(2)='2'
編寫Python程式,提示使用者輸入字串,程式以逆序顯示該字串
enter a string str hello,world the reversed string is str 1 5 輸入一個字串,對該字串進行逆序,輸出逆序後的字串。舉例 include int main for i 0,j cnt 1 ib j a i for i 0 iprintf c ...
關於象牙的問題,朋友送了一串非洲象牙做的串,108顆,1 0直徑,請問價格是多少?先謝謝您的回答
現在國家禁止象牙買賣,想賣的賣不出去,可想買的又買不著。所以 不太好說。海關用來罰款的估價基數好像是克價五十。以此為依據,非洲象牙做的串,108顆,1.0直徑,克價可能在八十到一百吧。僅供參考!這樣一串象牙手鍊大概多少錢,每顆約直徑一公分多點。1.0的,看圖不知真假,但如圖品質,大概1500左右吧 ...
一串紅是怎麼種植的,一串紅怎樣育苗?
一串紅通常用播bai種du繁殖,也可扦插繁殖。花期zhi可隨播種dao時間的先專後,而早晚不同。北京屬地區露地播種時間為4 5月,自然花期8 10月。播種最好是砂質壤土,細耕整平,澆足透水,待水滲後1 2小時,將種子均勻撒播,用細沙子覆蓋0.5釐米厚,再用塑料薄膜覆罩苗床,以保溫 保溼,一般8 10...