我的Python代码出现语法错误。空闲状态未提供任何提示,指出了错误的可能原因。
我正在Raspberry Pi 3上运行Python 3。
Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
if (authentication instanceof UsernamePasswordAuthenticationToken) {
// Update Current user by changing tenant id in SecurityContextHolder
UsernamePasswordAuthenticationToken currentAuth = (UsernamePasswordAuthenticationToken) authentication;
CustomUserDetails userDetail = currentAuth.getPrincipal();
customUserDetails.updateTenanet("blablalb");
UsernamePasswordAuthenticationToken updateAuth = new UsernamePasswordAuthenticationToken(userDetail ,
currentAuth.getCredentials(),
currentAuth.getAuthorities());
SecurityContextHolder.getContext().setAuthentication(updateAuth);
}
我希望输出会问我要转换多少英寸。然后,它会说出等于的厘米的值。
相反,它带有一个显示“语法错误”的窗口。没有其他信息。
答案 0 :(得分:2)
正确的写法是
inches = input("How many inches?")
cm = inches*2.54
print("That is %f centimeters" % (cm))
%表示您将在此处插入一个值,该字符后跟id的字符类型将在此处插入变量,我将%f用作浮点数,也可以将%s用作字符串。
答案 1 :(得分:1)
inches = input("How many inches?")
cm = inches*2.54
print("That is" {} "centimeters.".format(cm))
答案 2 :(得分:1)
您必须在括号内加上字符串。
inches = input("How many inches?")
但这还不够,您需要一个数字来执行乘法运算符。因此,用input()
覆盖浮点数或用float()
覆盖整数int()
。
inches = float(input("How many inches?"))
# or
inches = int(input("How many inches?"))
与python 2不同,在python 3中,print()
是一个内置函数,必须将其参数放在括号内。另外,必须将括号{}
放在引号中。
print("That is {} centimeters.".format(cm))
因此您的代码可能如下所示:
inches = int(input("How many inches?")) # or inches = float(input("How many inches?"))
cm = inches*2.54
print("That is {} centimeters.".format(cm))
答案 3 :(得分:0)
仔细检查Raspberry PI上的Python版本。 F字符串是在3.6中引入的,如果您的PI像我的PI一样,默认安装的Python版本将是3.5
打印调用也需要括号,例如print()