Python的問題,使用者輸入一串字元,用逗號隔開,要求輸出類似f a 的形式的輸入,下面是輸入和

2021-04-18 13:13:31 字數 5857 閱讀 2249

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...