已给我一个数字字符串,我必须创建一个函数来验证字符串中的第一个数字是否等于4。
def verify(number) :
int (input[0],10)
for number in input:
if input [0] == 4:
return True
elif input [0] != 4:
return False
input = "5000-0000-0000"
结果应该为false,但如果我将输入更改为4000-0000-0000,则结果应为true
答案 0 :(得分:0)
在这里,这应该起作用:
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".NewGameMenu">
<SeekBar
android:id="@+id/disSeek"
style="@style/Widget.AppCompat.SeekBar.Discrete"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="300dp"
android:max="10"
android:progress="1"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginBottom="44dp"
android:text="Left side Text"
android:textSize="20sp"
app:layout_constraintBottom_toTopOf="@+id/disSeek"
app:layout_constraintStart_toStartOf="parent" />
</android.support.constraint.ConstraintLayout>
它使用var number ,将其转换为字符串,检查它是否以“ 4”开头,如果是,则返回true,否则返回false。
def verify(number):
number = str(number)
if number.startswith("4"):
return True
else:
return False
编辑:
如@melpomene所建议,此代码可以进一步简化:
def verify(number):
number = str(number) #convert number to string
if number.startswith("4"): #check if it starts with 4
return True # return True if it does
else:
return False #otherwise return false
答案 1 :(得分:0)
您应该将其与字符串"4"
进行比较。此外,无论如何,比较都会返回布尔值,因此您可以摆脱if
语句:
def verify(number):
if not number:
return False
return number[0] == "4"
请注意,应使用not number
检查字符串的长度,以免在传递空字符串时出错。另一个选项是startswith
:
def verify(number):
return number.startswith("4")
在这种情况下,不需要检查。但是,这种方法往往会比较慢,因为startswith
比简单的比较要复杂得多。
答案 2 :(得分:0)
您可以遍历输入中的数字,因此无需指定要检查的对象的索引。但是,您不想遍历它。更改为:
def verify(number) :
if input[0] == '4':
return True
return False
应该可以。
答案 3 :(得分:0)
如果您需要验证确切的模式,但以4开头,则类似以下内容:
def verify(s) :
from re import match
if match('^4[0-9]{3}\-[0-9]{4}\-[0-9]{4}$',s): return True
return False
print(verify("5000-0000-0000"))
print(verify("4000-0000-0000"))
或在评论中指出:
if match('^4\d{3}\-\d{4}\-\d{4}$',s): return True
答案 4 :(得分:0)
如果只想验证一位数字,请编写以下函数:
DECLARE @SOAPMES varchar(max)
SET @SOAPMES = ''
SET @SOAPMES = @SOAPMES + '<wsse:UsernameToken wsu:Id="Example-1">'
SET @SOAPMES = @SOAPMES + ' <wsse:Username> ... </wsse:Username>'
SET @SOAPMES = @SOAPMES + ' <wsse:Password Type="..."> ... </wsse:Password>'
SET @SOAPMES = @SOAPMES + ' <wsse:Nonce EncodingType="..."> ... </wsse:Nonce>'
SET @SOAPMES = @SOAPMES + ' <wsu:Created> ... </wsu:Created>'
SET @SOAPMES = @SOAPMES + '</wsse:UsernameToken>'
SELECT PATINDEX('%<%:Password%',@SOAPMES)
如果要创建更通用的功能,该功能可以识别第一个字符是否等于任何数字(0-9),请执行以下操作:
def verify_number(text):
has_4 = (text[0] == 4)
if has_4:
return True
return False
>>> verify_number("5000-0000-0000")
False
>>> verify_number("4000-0000-0000")
True