嗯,我刚开始学习Python,所以我不明白如何让我的代码正确(值得说我从YouTube学习)))。我想从代码中得到的是 - 如果赋值num1最后有8个字符,并且它应该由命令打印打印,并且它不打印任何内容。将分配导入模块/预期的字符串或缓冲区Python,
import re
def x():
num1 = 5894652138
vav = re.match(r'[8]''$', num1)
print vav
x()
嗯,我刚开始学习Python,所以我不明白如何让我的代码正确(值得说我从YouTube学习)))。我想从代码中得到的是 - 如果赋值num1最后有8个字符,并且它应该由命令打印打印,并且它不打印任何内容。将分配导入模块/预期的字符串或缓冲区Python,
import re
def x():
num1 = 5894652138
vav = re.match(r'[8]''$', num1)
print vav
x()
你并不需要使用重新这里。 要检查的最后一位的十进制数,你应使用10使用modulos:
num1 = 5894652138
if num1 % 10 == 8:
print num1
非常感谢,答案一如既往很简单。 –
def x():
num1 = 5894652138
num2 = str(num1)
if (num2.endswith("8")):
print num1
你可以做到这一点,看看8是在年底。
这也是很好的解决方案。谢谢。 –
're'是矫枉过正。将'num1'投射到'str'对象并测试:'如果str(num1).endswith('8')':print str(num1)'或其他类似。 –
您是否阅读过错误信息?它*“预期的字符串或缓冲区”*,但你传递一个整数! – jonrsharpe