- 論壇徽章:
- 0
|
做了一個(gè)小練習(xí), 逆序輸出一個(gè)四位數(shù)。
寫了一個(gè)函數(shù),可以選擇4種方法執(zhí)行。
可是執(zhí)行的時(shí)候不管輸入數(shù)字幾都輸出num error
#輸入一個(gè)四位數(shù),逆序輸出
def reverse(a):
print("*" * 10, "1.使用字符串切片操作", "*" * 10)
print("*" * 10, "2.使用字符串索引和連接操作", "*" * 10)
print("*" * 10, "3.使用for循環(huán)", "*" * 10)
print("*" * 10, "4.使用數(shù)學(xué)方法", "*" * 10)
num = input("輸入選擇的方法")
b = ""
if num == 1:
b == str(a)[::-1]
elif num == 2:
b = str(a)[3]+str(a)[2]+str(a)[1]+str(a)[0]
elif num == 3:
for i in str(a):
b = i + b
elif num == 4:
gw = int(a)%10
sw = int(a)//10%10
bw = int(a)//10//10%10
qw = int(a)//1000
b = gw*1000+sw*100+bw*10+qw
# b = str(gw)+str(sw)+str(bw)+str(qw)
else:
print("error num")
print(b)
a = input("請(qǐng)輸入一個(gè)四位數(shù):")
reverse(a)
運(yùn)行結(jié)果:請(qǐng)輸入一個(gè)四位數(shù):8765********** 1.使用字符串切片操作 ******************** 2.使用字符串索引和連接操作 ******************** 3.使用for循環(huán) ******************** 4.使用數(shù)學(xué)方法 **********輸入選擇的方法3error num
然后我在調(diào)試的時(shí)候發(fā)現(xiàn)一個(gè)問題,將代碼略作修改就可以正常運(yùn)行修改后的代碼:#輸入一個(gè)四位數(shù),逆序輸出
def reverse(a):
print("*" * 10, "1.使用字符串切片操作", "*" * 10)
print("*" * 10, "2.使用字符串索引和連接操作", "*" * 10)
print("*" * 10, "3.使用for循環(huán)", "*" * 10)
print("*" * 10, "4.使用數(shù)學(xué)方法", "*" * 10)
num = input("輸入選擇的方法")
b = ""
if num == 1:
b == str(a)[::-1]
elif num == 2:
b = str(a)[3]+str(a)[2]+str(a)[1]+str(a)[0]
elif num == 3:
for i in str(a):
b = i + b
else:
gw = int(a)%10
sw = int(a)//10%10
bw = int(a)//10//10%10
qw = int(a)//1000
b = gw*1000+sw*100+bw*10+qw
# b = str(gw)+str(sw)+str(bw)+str(qw)
print(b)
a = input("請(qǐng)輸入一個(gè)四位數(shù):")
reverse(a)
以上代碼可以正常運(yùn)行差別就在于最后num==4的時(shí)候直接寫成else的情況請(qǐng)教一下差別在哪里呢???
|
|