input1= input("Enter a word or number: ")
input2= input("Enter another word or number: ")
check1= input1.isdigit()
check2= input2.isdigit()
def x(input1, input2):
if check1== True and check2==True:
if input1>input2:
return "The first number is bigger"
elif input2>input1:
return "The second number is bigger"
else:
return "Both numbers are same size"
elif check1== False and check2== False:
for i in input1:
y=i.isdigit()
if y== True:
return "Enter a word or a number"
else:
for j in input2:
z=j.isdigit()
if z== True:
return "Enter a word or a number"
else:
if len(input1)>len(input2):
return "The first word is longer"
elif len(input1)==len(input2):
return "The words are the same length"
else:
return "The second word is longer"
else:
return "Can't compare"
x(input1, input2)
y = x(input1, input2)
print(y)
''' 這是一個功能,它要求用戶輸入兩個值,然后如果用戶輸入兩個單詞則給出較長的單詞,或者當用戶輸入兩個數字時給出較大的數字。如果用戶輸入一個單詞和一個數字,它回傳無法比較,但是我面臨的問題是當用戶輸入 Ml3003322 或 qwewe9qw92222 之類的內容時我無法驗證。任何人都可以提出可能的解決方案嗎?'''
uj5u.com熱心網友回復:
您正在尋找isalpha和isdecimal來測驗給定字串是否包含所有字母或數字。
用法示例:
def is_word_number(s):
if s.isalpha():
return 'word'
if s.isdecimal():
return 'number'
return 'error'
uj5u.com熱心網友回復:
如果您想根據您的評論避免“混合詞”,您可以創建如下函式:
def check_mixed(x):
''' check mixed words
return: True (if good), False (if mixed)
'''
numbers = '01234567890'
letters = 'abcdefghijklmnopqrstuvwxyz'
l, m = 0, 0 # count letters an numbers
for i in x:
if i in numbers:
l = l 1 # number found
if i.lower() in letters:
m = m 1 # letter found
if l>1 and m>1:
return False
return True
# example
a = check_mixed('12345')
b = check_mixed('abcde')
c = check_mixed('Ml3003322')
print(a)
print(b)
print(c)
這回傳
True
True
False
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/503688.html
上一篇:自定義型別的XSD1.0驗證失敗
下一篇:如何將CSS計時與JS間隔同步?
