重新启动循环以遍历用户字符串

时间:2019-08-01 06:05:57

标签: python python-3.x loops for-loop

我正在尝试接受用户输入并检查字符串中的非字母值。我的问题是,如果它们输入错误的值,如何再次查询它们并开始循环?见下文

import React, { Component } from 'react';
import { View, Text, StyleSheet } from 'react-native';
import { createBottomTabNavigator } from 'react-navigation';
import TabNavigator from './components/TabNavigator';

const App = () => {
  return (
    <View>
      <TabNavigator />
    </View>
  );
};

export default App;

仅尝试验证用户仅输入字母。如果检查失败,他们会再次输入名称,然后重新开始。预先感谢!

2 个答案:

答案 0 :(得分:0)

您可以执行以下操作:

correct = False
while correct == False:

    name = str(input("Enter name:"))
    for i in name:
        if not i.isalpha():
            correct = False
            break
        else:
            correct = True

答案 1 :(得分:0)

您可以在下面看到示例代码:

while True:
    number_found = False
    name = str(input("Enter name:"))
    for i in name:
        print("Check {} character".format(i))
        if i.isdigit():
            print("{} is number. Try again.".format(i))
            number_found = True
            break  # Break the for loop when you find the first non-alpha. You can reduce the run-time with this solution.
    if not number_found:
        break
print("Correct input {}".format(name))

输出:

>>> python3 test.py # Success case
Enter name:test
Check t character
Check e character
Check s character
Check t character
Correct input test

>>> python3 test.py # Failed case
Enter name:test555
Check t character
Check e character
Check s character
Check t character
Check 5 character
5 is number. Try again.
Enter name: