python中怎么表示是3的倍数或者尾数是3的数?

Python015

python中怎么表示是3的倍数或者尾数是3的数?,第1张

3的倍数尾数是3用取模运算判断余数。

a%3==0 3的倍数

a%10==3 尾数3

判断3的倍数可以利用3倍数的特征,所有位置上数字的和能被3整除就是3的倍数。

a=input()

s=0

for i in a:

缩进s+=int(i)

if s%3==0:print('3的倍数')

判断末尾是否为3,就直接判断字符串末尾字符。

a=input()

if a[-1]=='3':print('3是尾数')

1. 用户给出你要学习的正则语言涉及的字符集,比如本题目中的 0123456789

2. 然后程序会反复询问你某个句子是否属于该语言,你就回答yes或者no就行了,然后程序会给你返回一个可能的正则语言(用DFA的形式)。

3. 如果你发现这个生成的正则语言和你想的不一样,你可以给出一个反例,然后程序继续给你计算你可能想要的自动机

这里有一个我刚刚写好的实现 xuanhuangyiqi/AnluinLearning · GitHub ,目前只能处理基本字符,另外这个算法输出的是自动机,不是最终的正则表达式,而且我还没找到比较完美的自动机转换成正则表达式的方法,所以目前我的实现生成的正则表达式是有bug的。本来这个东西是打算考完试再写的,刚好看到了这个问题,就手抖写了个简单的,考完试再慢慢完善。

如果打算理解这个算法可能需要一些基本的自动机理论基础:

1. 能看懂其它答案的做法,理解正则语言、DFA、正则表达式的关系

2. 理解最简DFA、状态/句子之间的等价

3. 理解这个算法的目标是维护一个自动机的封闭性和一致性