“重新输入一个整数”的几种方法

需求:要求用户输入一个整数,若不是整数,则重新输入

方法1:str.isdigit方法可以判断字符串是否由数字构成

uerIsAnswer = input("请输入一个整数")
while not uerIsAnswer.isdigit():
    uerIsAnswer = input("格式错误,请输入一个整数: ")

方法2:通过捕捉ValueError异常来解决问题

while True:
    uerIsAnswer = input("请输入一个整数:")
    try:
        num = int(uerIsAnswer)
        break
    except ValueError:
        print(‘格式错误,请输入一个整数‘)

原文地址:https://www.cnblogs.com/nianqiantuling/p/9116983.html

时间: 2024-10-30 12:36:06

“重新输入一个整数”的几种方法的相关文章

【C语言】输入一个整数,输出该数二进制表示中1的个数(三种方法)

输入一个整数,输出该数二进制表示中1的个数.如输入32,输出1. 代码实现: 方法1:与运算 #define _CRT_SECURE_NO_WARNINGS 1 #include<iostream> using namespace std; int FindOneNumber(unsigned int num) {     int numberofOne = 0;     while (num)     {         num = num & (num - 1);         

输入一个整数score代表分数,根据分数输出等级(A-E)(用两种方式)

/* A:90~100 B:80~89 C:70~79 D:60~69 E:0~60 */ #include <stdio.h> int main() { // 1.提示输入 printf("请输入分数值:\n"); // 2.接收输入 int score; scanf("%d", &score); // 3.判断等级 (性能最高) if (score>=90 && score<=100) { // [90, 100]

输入一个整数,要求不管输入什么,程序都不会崩溃

用到异常处理机制的输入成绩保证程序健壮性的代码 1.编写一个程序,此程序在运行时要求用户输入一个整数,代表某门课的考试成绩,程序接着给出“不及格”.“及格”.“中”.“良”.“优”的结论. 2.要求程序必须具备足够的健壮性,不管用户输入什么样的内容,都不会崩溃. 用到了异常处理机制 import java.util.Scanner; /*编写一个程序,此程序在运行时要求用户输入一个 整数,代表某门课的考试成绩,2015.11.12底云飞 *程序接着给出“不及格”.“及格”.“中”.“良”.“优”

(四)、利用命令行参数输入一个整数,打印空心菱形

1 /*利用命令行参数输入一个整数,并判断该数字是否为奇数,如果是奇数,则用其作行数打印空心菱形 2 –PS:将字符串转换为数字的方法 3 •int num=Integer.parseInt(String number);*/ 4 5 package com.gen; 6 public class ArgumentKongLing { 7 public static void main(String args[]) 8 { 9 for (int m= 0; m < args.length;m++

【微软100题】输入一个整数,求该整数的二进制表达中有多少个1

package test; /** 整数的二进制表示中1的个数 题目:输入一个整数,求该整数的二进制表达中有多少个1. 例如输入10,由于其二进制表示为1010,有两个1,因此输出2. 分析: 方法一:把十进制转换成二进制字符数组,遍历该数组,判断1的个数. 方法二:对于一个int n, n&1的结果就是n转化成二进制数后的最后一位的结果.考察了位运算 包括微软在内的很多公司都曾采用过这道题. * @author Zealot * */ public class MS_28 { private

剑指offer11:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。(进制转换,补码反码)

1. 题目描述 输入一个整数,输出该数二进制表示中1的个数.其中负数用补码表示. 2. 思路和方法 使用移位(<<)和 “| & !”操作来实现.1的二进制是:前面都是0,最后一位为1.每次向左移位一下,使得flag的二进制表示中始终只有一个位为1,每次与n做位与操作,这样就相当于逐个检测n的每一位是否是1.unsigned int flag = 1; 3. C++核心代码 3.1 位运算 1 class Solution { 2 public: 3 int NumberOf1(int

输入一个整数,判断其是否是2^n,是就输出这个数,不是就输出和它最接近的为2^n的那个整数。

输入一个整数,判断其是否是2^n,若是,输出这 //个数,若不是,输出和它最接近的为2^n的那个整数. 附加源代码1: #include<stdio.h> #include<stdlib.h> #include<math.h> int main() { int input;//键盘输入一个整数input int i,j;//i,j待会儿存放input与左边和右边的为2^n的差值 int m,n;//保存左边,右边的与inout最接近的2^n printf("请

输入一个整数n(0&lt;n&lt;2147483647)打印“*”组成的三角形

描述    输入一个整数n(0<n<2147483647)打印"*"组成的三角形, 如下图    输入    第一行有一个整数n(0<n<2147483647)    输出    "*"组成的三角形 public class Main {     public static void main(String[] arg){         int n = 0;         Scanner scanner = new Scanner(Sys

定义一个由整数组成的数组,然后输入一个整数X,如果X不在此数组中,返回小于X的最大数的位置i和大于X的最小数的位置j

//定义一个由整数组成的数组,然后输入一个整数x,如果X不在此数组中,返回小于X的最大数的位置i和大于X的最小数的位置j: //若X在此数组中,则返回数组中这个数的位置. 源代码: #include<iostream> using namespace std; void main() { int array[]={1,2,3,4,5,6,7,89,45,32,56,78,12,43,90,19};//16个数字 int x; int max=array[0]; int min=array[0]