输入时检查字母为int

时间:2017-01-03 02:46:55

标签: python

我已经为用户编写了此代码以输入一个数字,然后计算机会为您提供pi,其中包含用户选择的小数点后的数字。我想检查用户是否输入“Q”以退出程序。问题是,当我将该数字转换为整数以确保其不大于15时,我无法检查该数字是否为q。同时,如果我将该输入转换为str,那么我将无法检查该数字是否大于15,感谢任何帮助,谢谢!

import math
import sys


def piee():
    pie = str(math.pi)
    pi_list = list(pie)

    print(pie)

    try:
        num = int(input("How many numbers after the decimal do I show?, max is 15 - "))
    except ValueError:
        print("That's not a number!")
        sys.exit()

    if num > 15:
        print("That's too large of a number!")
        sys.exit()
    elif num < 1:
        print("That's too small of a number!")
        sys.exit()

    new_num = num + 2
    del pi_list[new_num:]
    final = ''.join(pi_list)
    print(final)
    again = input("Again? [Y/N] ").lower()
    if again == 'y':
        print('+' * 25)
        piee()
    else:
        sys.exit()
piee()

1 个答案:

答案 0 :(得分:1)

非常接近

try:
    inp = input("How many numbers after the decimal do I show?, max is 15 - ")
    num = int(inp)
except ValueError:
    if inp == 'Q':
        sys.exit()
    else:
        print("That's not a number!")

请注意,sys.exit()遍布整个地方。他们中的大多数应该只是回归。