【面试】日常经典python小题目-作为一个测试开发,你必须学会避开自己代码中的小坑

输入一个1-900之间的奇数n,如果不在这个范围内提示出错。

作为一个测试,你需要对你自己的代码负责,所以,你写的代码,必须通过测试人员的测试才算合格,请注意避开自己代码中可能遇到的问题。

(如果你的能力够强,那么这个进阶你也完成吧——2行代码实现整个功能,第一行妥妥的是输入的代码了,实际上实现功能的只有一行代码。)

(如果你的能力能实现第2行代码完成功能,那么,1行代码实现对你来说也不是问题了,这是终极挑战。)

1 个赞
b=int(input("请输入一个1-900之间的奇数!!!!"))
print("这个数为奇数") if  b%2!=0 and b>=1 and b<=900 else print("输入有误,请重新输入")

怎么合并成一行呢?想想~~ :pensive::pensive::pensive:

1-900的范围是需要你去判断的哦

我就是过来打个酱油~~~

:smiling_imp:这个还是需要一些小基础知识的

print((lambda b: ‘这个数是奇数’ if b % 2 != 0 and b >= 1 and b <= 900 else ‘输入有误,请重新输入’)(int(input(“请输入一个1-900之间的奇数!”))))

你这里也是一样,input的内容为非数字,比如’a1’,程序报错退出

input的内容为非数字,比如’a1’,程序报错退出

只能想到两行的写法,还没想到怎么把输入赋值这个合并到一行里去,。。。

input_str = input('请输入:')
print('{}是1-900之间的奇数'.format(input_str) if input_str.isdigit() and 1 <= int(input_str) <= 900 and int(input_str) % 2 == 1 else '输入有误')

一行代码是个小知识点,动用你的小脑袋想想看哦

所以呢,这题的答案是什么呢

print('Input number is in scope' if int(input("Pls write:")) in [i for i in range(1, 900)][::2] else print('Input number is wrong!'))
1 个赞