1. python如何统计字符中有多少数字例如123abc中有3个数字
def count_digits(s):
return len([i for i in s if i.isdigit()])
def count_digits2(s):
return map(str.isdigit ,s).count(True)
s='a1b2c345'
print count_digits(s)
print count_digits2(s)
2. c语言:定义一个函数digit(n,k),它返回整数n的从右边开始数的第k个数字的值
#include "stdio.h"
int digit(int n,int k)
{
while(k>1)
{
n/=10;
k--;
}
return n%10;
}
void main()
{
printf("%d\n%d\n",digit(1234,3),digit(6754,4));
}
3. c语言:定义一个函数digit(n,k),它返回整数n的从右边开始数的第k个数字的值
随便写了程序,你试试:
#include
#include
int dig(int,int);
int main(){
printf("%d\n",dig(14495600,3)); //返回6
return 0;
}
int dig(int n,int index)
{
char strNum[100];
int len = 0;
itoa(n,strNum,10); //这里是先把数字转换为字符数组保存在strNum中
len = strlen(strNum); //保存数字的位数
if(index > len){ //非法情况
printf("error!");
return -1;
}
return strNum[len-index]-48; //用数字位数减去倒数第几个数的索引值,就得到返回的数的索引值了,这里减去48是因为要将字符转换为正确的int
}
4. python 统计一个字符串中出现过的非数字的数量(count the number non-digit in a string s)
#! usr/bin/python# -*- coding:utf-8 -*-#python 2.7str_ = '12asd3,234.5A'print len(filter(lambda x:x.isdigit()==False,map(str,str_)))
5. 求编一个python程序,实现一个多态函数data_reverse(data),支持将数字,字
需要那么复杂吗....
f = lambda x: x[::-1]
6. python计算数字出现次数问题!
def countdigits(aString):
c = 10*[0]
for e in aString:
c[int(e)] += 1
return c
def main():
for n,v in enumerate(countdigits(str(input('Enter a string of numbers: '))))
if v != 0:
print '%d occurs %d time%s'%(n, v, v!=1 and 's' or '')
main()
7. python如何把一个数的每一个数字都赋给另外一个字母
var=ord('a')for digit in str(324): exec("%s=%s"%(chr(var),digit,),globals()) var+=1执行后a=3,b=2,c=4,将程序中的324替换为实际数字
8. 求python大神帮忙,在python下,输入一串字符串,输出元素个数。急!!!!!!!!!!!!!!
# 稍作改造data="asdfasdfasdffrist'~!$123@df#456asgh'endasdfasdfasdf"counter = [0, 0, 0, 0]for ch in data: if ch.isupper(): counter[0] += 1 elif ch.islower(): counter[1] += 1 elif ch.isdigit(): counter[2] += 1 else: counter[3] += 1print counter# 再改:UPPER, LOWER, DIGIT, OTHER = range(4)def chtype(ch): if ch.isupper(): return UPPER elif ch.islower(): return LOWER elif ch.isdigit(): return DIGIT else: return OTHERdef counter(data): _counter = [0, 0, 0, 0] for ch in data: _counter[chtype(ch)] += 1 return _counterdata="asdfasdfasdffrist'~!$123@df#456asgh'endasdfasdfasdf"print counter(data)