为什么我在第18行会遇到语法错误? IDE说,print()
函数有问题,但我无法弄清楚到底是什么。我将这个程序从C移植到Python,因为我正在学习后者。
#caesar encipher
import sys
import cs50
if len(sys.argv)!= 2:
print("Nope")
k = int(sys.argv[1])
if k<0:
print("Nope")
else:
code = cs50.get_string()
#add k letters to each character in the string. For example is code[0]='a' and k=3, program will return 'd'.
for i in code:
if code[i].islower():
new_code = chr((((ord(code[i]+k)- 97)% 26)+ 97)
print(f"{new_code}")
elif code[i].isupper():
new_code = chr((((ord(code[i]+k)- 65)% 26)+ 65)
print(f"{new_code}")
else:
print(code[i])
print()
答案 0 :(得分:-1)
一定是这样的
#caesar encipher
import sys
import cs50
if len(sys.argv)!= 2:
print("Nope")
k = int(sys.argv[1])
if k<0:
print("Nope")
else:
code = cs50.get_string()
#add k letters to each character in the string. For example is code[0]='a' and k=3, program will return 'd'.
for i in code:
if code[i].islower():
new_code = chr((((ord(code[i]+k)- 97)% 26)+ 97))
print("{new_code}")
elif code[i].isupper():
new_code = chr((((ord(code[i]+k)- 65)% 26)+ 65))
print("{new_code}")
else:
print(code[i])
print()