首页
学习
活动
专区
圈层
工具
发布

两天研习Python基础(四) 获取用户输入

今天看到机器之心推送的一个 Python 库 nbdev (https://github.com/fastai/nbdev/)感觉不错,它可以帮助使用者在 Jupyter Notebook 中开发模块和包,为探索性分析与系统的工具构建建立了桥梁,感兴趣的读者不妨一试。

整数输入

代码语言:javascript
代码运行次数:0
复制
#!/usr/bin/python3

usr_ip = input("Enter an integer number: ")

# 需要将输入的字符串显式地指定为需要的类型
usr_num = int(usr_ip)
sqr_num = usr_num * usr_num

print("Square of entered number is: {}".format(sqr_num))
  • 让我们给定一个整数和字符串来测定这个程序
  • Python docs - 整数文本[1]
代码语言:javascript
代码运行次数:0
复制
$ ./user_input_int.py
Enter an integer number: 23
Square of entered number is: 529

$ ./user_input_int.py
Enter an integer number: abc
Traceback (most recent call last):
  File "./user_input_int.py", line 6, in <module>
    usr_num = int(usr_ip)
ValueError: invalid literal for int() with base 10: 'abc'

浮点数输入

代码语言:javascript
代码运行次数:0
复制
#!/usr/bin/python3

usr_ip = input("Enter a floating point number: ")

# 需要将输入的字符串显式地指定为我们需要的类型
usr_num = float(usr_ip)
sqr_num = usr_num * usr_num

# 限制小数点位数
print("Square of entered number is: {0:.2f}".format(sqr_num))
  • E 科学计数法[2]在需要时可以使用
  • Python文档 - 浮点数文本[3]
  • Python文档 - 浮点数[4]
代码语言:javascript
代码运行次数:0
复制
$ ./user_input_float.py
Enter a floating point number: 3.232
Square of entered number is: 10.45

$ ./user_input_float.py
Enter a floating point number: 42.7e5
Square of entered number is: 18232900000000.00

$ ./user_input_float.py
Enter a floating point number: abc
Traceback (most recent call last):
  File "./user_input_float.py", line 6, in <module>
    usr_num = float(usr_ip)
ValueError: could not convert string to float: 'abc'

字符串输入

代码语言:javascript
代码运行次数:0
复制
#!/usr/bin/python3

usr_name  = input("Hi there! What's your name? ")
usr_color = input("And your favorite color is? ")

print("{}, I like the {} color too".format(usr_name, usr_color))
  • 不像Perl,字符串输入不需要进行类型转换和注意换行符
代码语言:javascript
代码运行次数:0
复制
$ ./user_input_str.py
Hi there! What's your name? learnbyexample
And your favorite color is? blue
learnbyexample, I like the blue color too

参考资料

[1]Python docs - 整数文本: https://docs.python.org/3/reference/lexical_analysis.html#integer-literals

[2]E 科学计数法: https://en.wikipedia.org/wiki/Scientific_notation#E_notation

[3]Python文档 - 浮点数文本: https://docs.python.org/3/reference/lexical_analysis.html#floating-point-literals

[4]Python文档 - 浮点数: https://docs.python.org/3/tutorial/floatingpoint.html

下一篇
举报
领券