大佬们,课后作业QAQ
alphabet = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'number = '0123456789'
space = ' '
def count(one,two):
oywzm = 0
osz = 0
okg = 0
oqtzf = 0
for each_one in one:
if each_one in alphabet:
oywzm += 1
elif each_one in number:
osz += 1
elif each_one in space:
okg += 1
else:
oqtzf += 1
print('第1个字符串共有:英文字母 %d 个,数字 %d 个,空格 %d 个,其他字符 %d 个。' % oywzm, osz, okg, oqtzf)
tywzm = 0
tsz = 0
tkg = 0
tqtzf = 0
for each_two in two:
if each_two in alphabet:
tywzm += 1
elif each_two in number:
tsz += 1
elif each_two in space:
tkg += 1
else:
tqtzf += 1
print('第1个字符串共有:英文字母 %d 个,数字 %d 个,空格 %d 个,其他字符 %d 个。' % tywzm, tsz, tkg, tqtzf)
count('I love fishc.com.','I love you, you love me.')
----------------------------------------------------------------------------------------------------------------------------------------------
两个问题:
1.为什么会报错
2.两个for循环重复了,有没有办法不重复QAQ
报错是因为你 % 号格式化时候忘记加括号了
我帮你合并了你看代码吧:
alphabet = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
number = '0123456789'
space = ' '
def count(one,two):
oywzm = 0
osz = 0
okg = 0
oqtzf = 0
for i in range(2):
for each_one in :
if each_one in alphabet:
oywzm += 1
elif each_one in number:
osz += 1
elif each_one in space:
okg += 1
else:
oqtzf += 1
print('第%d个字符串共有:英文字母 %d 个,数字 %d 个,空格 %d 个,其他字符 %d 个。' % (i+1,oywzm, osz, okg, oqtzf))
count('I love fishc.com.','I love you, you love me.') 本帖最后由 yhhpf 于 2020-7-8 11:16 编辑
print('第1个字符串共有:英文字母 %d 个,数字 %d 个,空格 %d 个,其他字符 %d 个。' % (oywzm, osz, okg, oqtzf))
print('第1个字符串共有:英文字母 %d 个,数字 %d 个,空格 %d 个,其他字符 %d 个。' % (tywzm, tsz, tkg, tqtzf))
当有多个格式化内容时,需要用()刮号刮起来;
循环还是循环两次,不过简化点:
alphabet = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
number = '0123456789'
space = ' '
def count(one,two):
list1 =
oywzm = 0
osz = 0
okg = 0
oqtzf = 0
for each_one in list1:
for each in each_one:
if each in alphabet:
oywzm += 1
elif each in number:
osz += 1
elif each in space:
okg += 1
else:
oqtzf += 1
print('第1个字符串共有:英文字母 %d 个,数字 %d 个,空格 %d 个,其他字符 %d 个。' % (oywzm, osz, okg, oqtzf))
count('I love fishc.com.','I love you, you love me.') 问题1:应该这样:print('第1个字符串共有:英文字母 %d 个,数字 %d 个,空格 %d 个,其他字符 %d 个。' % (oywzm, osz, okg, oqtzf))
问题2:可以封装成函数
页:
[1]